Bei Verwendung von PHP 5 werden alle über die MySQL-Abfrage erhaltenen Werte zu „???????“. Es stellt sich heraus, dass der Zeichensatz falsch eingestellt ist.
Als ich MySQL 5 installiert habe, habe ich den Standardzeichensatz gb2312 ausgewählt, es wurden jedoch immer noch verstümmelte Zeichen zurückgegeben. Die Lösung besteht darin, nach der Verbindung mit dem MySQL-Server eine Anweisung „Set Names X“ aufzurufen, die mit dem Set-Zeichensatz übereinstimmt (. X ist Ihr festgelegter Zeichensatz). Unten ist meine Verbindungsfunktion:
function sql_connect() {
global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE;
$connection = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or startUpError('<p>Verbindung zur MySQL-Datenbank konnte nicht hergestellt werden.</p>','Connect Fehler');
if (!mysql_select_db($MYSQL_DATABASE))
{
include'install.php';
doInstall();
mysql_select_db($MYSQL_DATABASE) or startUpError('<p>Datenbank konnte nicht ausgewählt werden: '. mysql_error().'</p>', 'Connect Error');
}
sql_query('set name "gb2312"'); //sql_query ist eine benutzerdefinierte Ausführungsabfragefunktion, der Schlüssel ist diese Anweisung
return $connection;
}