![Drucken von Fremdtext für PHP auf UBUNTU und CENTOS](https://rvso.com/image/515018/Drucken%20von%20Fremdtext%20f%C3%BCr%20PHP%20auf%20UBUNTU%20und%20CENTOS.png)
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."'"); `