Drucken von Fremdtext für PHP auf UBUNTU und CENTOS

Drucken von Fremdtext für PHP auf UBUNTU und CENTOS

Ich verwende Domdocuments und Dinge wie $div->nodeValue, um bestimmte Informationen von einer Webseite zu erhalten.

Wenn ich auf meinem Ubuntu-Rechner php crawl.php ausführe, wird alles korrekt auf Chinesisch angezeigt (die Seite ist in UTF-8).

Wenn ich auf meinem CENTOS-Rechner jedoch denselben Code verwende, erhalte ich æ´å¤åå¸, wenn ich im Terminal drucke. Und wenn ich es in der Datenbank speichere, sind die Zeichen ebenfalls durcheinander.

Mir ist aufgefallen, dass beim Drucken von $content beide Systeme diese korrekt anzeigen.

Antwort1

Überprüfen Sie den Zeichensatz und die Sortierung der MySQL-Verbindung. Während Sie den Inhalt der erfassten Daten einfügen, sollte MySQL wissen, welcher Zeichensatz und welche Sortierung zum Speichern der Daten verwendet werden. Fügen Sie Ihrem PHP-Skript die folgenden Zeilen hinzu. Auf diese Weise wird Ihr Code wesentlich stabiler und funktioniert auf verschiedenen Betriebssystemen und mit unterschiedlichen Konfigurationen.

`
$dbcharset='utf8';
$dbcollation='utf8_general_ci';
mysql_query('ZEICHENSATZ FESTLEGEN '.$dbcharset);
mysql_query("NAMEN FESTLEGEN '".$dbcharset."' SORTIMENTIEREN '".$dbcollation."'");
`

verwandte Informationen