solve #14 Cambiado el programa para funcionar con una base de datos utf8. Para migrar hay que cambiar la configuración de mysql para utilizar por defecto utf8 en todo

This commit is contained in:
rmontanana
2014-03-03 02:23:07 +01:00
parent 14335770df
commit a85669a456
6 changed files with 64 additions and 13 deletions

View File

@@ -114,7 +114,7 @@ class Csv {
// Escribe la cabecera del fichero // Escribe la cabecera del fichero
$this->escribeLinea(array($consulta->Pagina->Cabecera, $consulta->Titulo['id'], $consulta->Titulo['Texto'])); $this->escribeLinea(array($consulta->Pagina->Cabecera, $consulta->Titulo['id'], $consulta->Titulo['Texto']));
foreach ($consulta->Pagina->Cuerpo->Col as $campo) { foreach ($consulta->Pagina->Cuerpo->Col as $campo) {
$campos[] = utf8_decode($campo['Titulo']); $campos[] = $campo['Titulo'];
} }
$this->escribeLinea($campos); $this->escribeLinea($campos);
// Escribe los datos de los campos // Escribe los datos de los campos
@@ -151,8 +151,8 @@ class Csv {
*/ */
public function resumen() { public function resumen() {
//$mensaje .= //$mensaje .=
$mensaje = "<center><h1>Archivo [inventario" . utf8_decode($this->cabecera[0]) . "]</h1>"; $mensaje = "<center><h1>Archivo [inventario" . $this->cabecera[0] . "]</h1>";
$mensaje .= "<h2>id=[" . $this->cabecera[1] . "] Descripci&oacute;n=[" . utf8_decode($this->cabecera[2]) . "]</h2><br>"; $mensaje .= "<h2>id=[" . $this->cabecera[1] . "] Descripci&oacute;n=[" . $this->cabecera[2] . "]</h2><br>";
$mensaje .= '<table border=1 class="table table-striped table-bordered table-condensed table-hover"><theader>'; $mensaje .= '<table border=1 class="table table-striped table-bordered table-condensed table-hover"><theader>';
foreach ($this->datosFichero[0] as $campo) { foreach ($this->datosFichero[0] as $campo) {
$dato = $campo; $dato = $campo;

View File

@@ -56,7 +56,7 @@ class InformeInventario {
} }
$fila = $this->bdd->procesaResultado(); $fila = $this->bdd->procesaResultado();
$plantilla = str_replace("{id}", $id, $plantilla); $plantilla = str_replace("{id}", $id, $plantilla);
$plantilla = str_replace("{Descripcion}", utf8_encode($fila['Descripcion']), $plantilla); $plantilla = str_replace("{Descripcion}", $fila['Descripcion'], $plantilla);
file_put_contents($salida, $plantilla) or die('Fallo en la escritura de la plantilla ' . $salida); file_put_contents($salida, $plantilla) or die('Fallo en la escritura de la plantilla ' . $salida);
if ($salidaInforme == "pantalla") { if ($salidaInforme == "pantalla") {
$informe = new InformePDF($this->bdd, $salida, true); $informe = new InformePDF($this->bdd, $salida, true);
@@ -92,9 +92,9 @@ class InformeInventario {
} }
$fila = $this->bdd->procesaResultado(); $fila = $this->bdd->procesaResultado();
$plantilla = str_replace("{id}", $id, $plantilla); $plantilla = str_replace("{id}", $id, $plantilla);
$plantilla = str_replace("{Descripcion}", utf8_encode($fila['descripcion']), $plantilla); $plantilla = str_replace("{Descripcion}", $fila['descripcion'], $plantilla);
$plantilla = str_replace("{Marca}", utf8_encode($fila['marca']), $plantilla); $plantilla = str_replace("{Marca}", $fila['marca'], $plantilla);
$plantilla = str_replace("{Modelo}", utf8_encode($fila['modelo']), $plantilla); $plantilla = str_replace("{Modelo}", $fila['modelo'], $plantilla);
file_put_contents($salida, $plantilla) or die('Fallo en la escritura de la plantilla ' . $salida); file_put_contents($salida, $plantilla) or die('Fallo en la escritura de la plantilla ' . $salida);
if ($salidaInforme == "pantalla") { if ($salidaInforme == "pantalla") {
$informe = new InformePDF($this->bdd, $salida, true); $informe = new InformePDF($this->bdd, $salida, true);
@@ -180,7 +180,7 @@ class InformeInventario {
//$fila=$this->bdd->procesaResultado(); //$fila=$this->bdd->procesaResultado();
$plantilla = file_get_contents($fichero) or die('Fallo en la apertura de la plantilla ' . $fichero); $plantilla = file_get_contents($fichero) or die('Fallo en la apertura de la plantilla ' . $fichero);
$plantilla = str_replace("{id}", $fila['id'], $plantilla); $plantilla = str_replace("{id}", $fila['id'], $plantilla);
$plantilla = str_replace("{Descripcion}", utf8_encode($fila['Descripcion']), $plantilla); $plantilla = str_replace("{Descripcion}", $fila['Descripcion'], $plantilla);
file_put_contents($salida, $plantilla) or die('Fallo en la escritura de la plantilla ' . $salida); file_put_contents($salida, $plantilla) or die('Fallo en la escritura de la plantilla ' . $salida);
if ($primero) { if ($primero) {
$primero = false; $primero = false;

View File

@@ -51,13 +51,13 @@ class InformePDF {
// Recuperamos la definición del informe // Recuperamos la definición del informe
$this->def = simplexml_load_file($definicion); $this->def = simplexml_load_file($definicion);
$this->bdd = $bdd; $this->bdd = $bdd;
$this->pdf = new Pdf_mysql_table($this->bdd->obtieneManejador(), (string) $this->def->Pagina['Orientacion'], (string) $this->def->Pagina['Formato'], (string) $this->def->Titulo['Texto'], (string) $this->def->Pagina->Cabecera); $this->pdf = new Pdf_mysql_table($this->bdd->obtieneManejador(), (string) $this->def->Pagina['Orientacion'], (string) $this->def->Pagina['Formato'], (string) utf8_decode($this->def->Titulo['Texto']), (string) $this->def->Pagina->Cabecera);
//echo $def->Titulo.$def->Cabecera; //echo $def->Titulo.$def->Cabecera;
$this->pdf->Open(); $this->pdf->Open();
$this->pdf->setAuthor(utf8_decode(AUTOR)); $this->pdf->setAuthor(AUTOR,true);
$creador = CENTRO . " " . APLICACION; $creador = CENTRO . " " . APLICACION;
$this->pdf->setCreator(utf8_decode(html_entity_decode($creador))); $this->pdf->setCreator(html_entity_decode($creador),true);
$this->pdf->setSubject(utf8_decode($this->def->Titulo)); $this->pdf->setSubject($this->def->Titulo,true);
$this->pdf->setAutoPageBreak(true, 10); $this->pdf->setAutoPageBreak(true, 10);
} }

View File

@@ -111,7 +111,7 @@ class Pdf_mysql_table extends Fpdf
if ($this->procesandoTotales) { if ($this->procesandoTotales) {
$this->SetFont('Arial','B',12); $this->SetFont('Arial','B',12);
} }
$this->Cell($col['w'],5,$data[$col['f']],1,0,$alin,$fill); $this->Cell($col['w'],5,utf8_decode($data[$col['f']]),1,0,$alin,$fill);
//$this->Cell($col['w'],5,utf8_decode($data[$col['f']]),1,0,$alin,$fill); //$this->Cell($col['w'],5,utf8_decode($data[$col['f']]),1,0,$alin,$fill);
//$this->Cell($col['w'],5,utf8_decode($data['proveedor']),1,0,$alin,$fill); //$this->Cell($col['w'],5,utf8_decode($data['proveedor']),1,0,$alin,$fill);
//$this->Write(5,"nombre=".$col['f'].",titulo=".$col['c'].",ancho=".$col['w'].",alin=".$col['a']); //$this->Write(5,"nombre=".$col['f'].",titulo=".$col['c'].",ancho=".$col['w'].",alin=".$col['a']);

View File

@@ -0,0 +1,49 @@
<?php
include('../inc/configuracion.inc');
include('../Sql.php');
$bd = new Sql(SERVIDOR, USUARIO, CLAVE, "Inventario2");
$bda = new Sql(SERVIDOR, USUARIO, CLAVE, "Inventario3");
//Convierte Ubicaciones
echo "Actualizando Ubiaciones";
$comando = "select * from Ubicaciones;";
$bd->ejecuta($comando);
while ($fila = $bd->procesaResultado()) {
//echo $fila['Descripcion'];
//$descripcion = utf8_encode($fila['Descripcion']);
$descripcion = $fila['Descripcion'];
$id = $fila['id'];
$comando = "insert into Ubicaciones (id,Descripcion) values ($id,'$descripcion');";
//echo $comando;
//echo $comando."\n";
$bda->ejecuta($comando);
}
//Convierte Artículos
echo "Actualizando la tabla de Artículos...";
$comando = "select * from Articulos;";
$bd->ejecuta($comando);
while ($fila = $bd->procesaResultado()) {
$id = $fila['id'];
$descripcion = $fila['descripcion'];
$marca = $fila['marca'];
$modelo = $fila['modelo'];
$cantidad = $fila['cantidad'];
$comando = "insert into Articulos (id,Descripcion,Marca,Modelo,Cantidad) values ($id,'$descripcion','$marca','$modelo',$cantidad);";
echo $comando."\n";
$bda->ejecuta($comando);
}
//Convierte Elementos
echo "Actualizando la tabla de Elementos...";
$comando = "select * from Elementos";
$bd->ejecuta($comando);
while ($fila = $bd->procesaResultado()) {
$id = $fila['id'];
$id_articulo = $fila['id_Articulo'];
$id_ubicacion = $fila['id_Ubicacion'];
$numserie = $fila['numserie'];
$cantidad = $fila['cantidad'];
$fechaCompra = $fila['fechaCompra'];
$comando = "insert into Elementos (id,id_Articulo,id_Ubicacion,numserie,cantidad,fechaCompra)
values ($id,$id_articulo,$id_ubicacion,'$numserie',$cantidad,'$fechaCompra');";
$bda->ejecuta($comando);
}

View File

@@ -19,4 +19,6 @@ echo "Re-exportando los datos"
mysqldump -u $1 --password=$2 --result-file=salida-final.sql $4 mysqldump -u $1 --password=$2 --result-file=salida-final.sql $4
echo "Re-importando los datos" echo "Re-importando los datos"
mysql -u $1 --password=$2 $4 <salida-final.sql mysql -u $1 --password=$2 $4 <salida-final.sql
echo "Limpiando la casa"
rm salida.sql salida2.sql salida.iconv.sql salida-final.sql
echo "Proceso terminado" echo "Proceso terminado"