anf: te agradezco mucho! La linea que propusiste
funciona perfecto. Al fin puedo hacer backups desde un script, sin que se rompan los caracteres alemanes.
La implemento así:
Cita: include_once "conection.php";
mysql_query("SET NAMES utf8");
Mi pregunta ahora es cómo devolver los datos a la db con un script, porque el mio no funciona más (si mal no recuerdo, el año pasado anduvo).
Código PHP:
$installDataBase = mysqli_connect($dbhost, $dbusuario, $dbpassword, $db);
mysqli_set_charset($installDataBase,'utf8');
if (!$installDataBase) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error("conection error"));
};
$backupSource = file_get_contents('installDataBase.sql');
if(mysqli_multi_query($installDataBase, $backupSource)){
do {
echo "doing";
/* store first result set */
if ($result = mysqli_store_result($installDataBase)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}
/* print divider */
if (mysqli_more_results($installDataBase)) {
printf(".");
}
} while (mysqli_next_result($installDataBase));
$response = "<h3>Tables successfully created. </h3>";
/* close connection */
mysqli_close($installDataBase);
} else $response = "<h3>Error in multiquery: </h3>".mysql_error();
echo $response;
Me da el "Error in multiquery: ". Es decir que falla uno de los dos parametros. Pero los datos de conexion están bien, y si imprimo el texto del segundo parametro también se imprime bien (es decir que el archivo se lee bien).
Según las pruebas que hice un tiempo atrás, al borrar ciertos sectores de la consulta el script funcionaba bien. Que puede ser?