Cuando se usa PHP 5, todos los valores obtenidos a través de la consulta MySQL se convierten en '???????'. Resulta que el conjunto de caracteres está configurado incorrectamente.
Cuando instalé MySQL 5, seleccioné el juego de caracteres predeterminado como gb2312, pero aún así devolvió caracteres confusos. La solución es llamar a una declaración "establecer nombres X" que sea la misma que el juego de caracteres establecido después de conectarme al servidor MySQL (. X es su juego de caracteres establecido). A continuación se muestra mi función de conexión:
function sql_connect() {
global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE
$connection = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) o startUpError('<p>No se pudo conectar a la base de datos MySQL.</p>','Conectar Error');
si (!mysql_select_db($MYSQL_DATABASE))
{
incluir 'install.php';
hacerInstalar();
mysql_select_db($MYSQL_DATABASE) o startUpError('<p>No se pudo seleccionar la base de datos: '. mysql_error().'</p>', 'Error de conexión');
}
sql_query('set nombres "gb2312"'); //sql_query es una función de consulta de ejecución personalizada, la clave es esta declaración
devolver $conexión;
}