Ein Entwickler ist beim Umschreiben einer alten Website auf Persisch auf ein seltsames Problem gestoßen verwendet perso/arabische Zeichen. Das Problem bestand in einer Diskrepanz in der Zeichenkodierung beim Speichern und Abrufen von Daten aus der Datenbank.
Das vorherige Skript verwendete eine Datenbank-Engine namens TUBADBENGINE, um die mit gespeicherten Daten zu verwalten die Zeichenkodierung „utf8_persian_ci.“ Das neue, mit Codeigniter codierte Skript hatte auch „utf8“ und „utf8_persian_ci“ als Zeichensatz und Sortiereinstellungen.
Allerdings bei der Eingabe persischer Zeichen in die Datenbank mit Im alten Skript wurden sie im neuen Skript anders angezeigt. Das alte Skript stellte die Zeichen korrekt dar, wie beabsichtigt, aber das neue zeigte eine seltsame Darstellung.
Bei näherer Betrachtung stellte sich heraus, dass die in der Datenbank gespeicherten Daten scheinbar ein falsches Format hatten. Das Einfügen der persischen Zeichen „aaaaaa“ führte dazu, dass „عمرآ gespeichert wurde.
Beim Abrufen dieser Daten im neuen Skript wurden sie als „عمرآ angezeigt. Das alte Skript zeigte es jedoch immer noch korrekt als „aaaaaa“ an.
Die Ursache des Problems wurde nach weiterer Analyse entdeckt: Die im alten Skript verwendete Datenbankverbindung war fälschlicherweise wurde so eingestellt, dass die Zeichenkodierung latin1 verwendet wird, obwohl die Datenbank und die Tabellen mit utf8_persian_ci konfiguriert wurden.
Dies führte zu Folgendem Prozess:
Um dieses Problem zu beheben, mussten die Daten in der Datenbank in die richtige Zeichenkodierung konvertiert werden. Für diese Konvertierung wurde folgende Abfrage verwendet:
SELECT CONVERT(BINARY CONVERT(field_name USING latin1) USING utf8) FROM table_name
Nach der Konvertierung der Daten konnte das neue Skript die persischen Zeichen korrekt darstellen.
Das obige ist der detaillierte Inhalt vonWarum werden meine persischen Zeichen auf meiner neuen Codeigniter-Website falsch angezeigt, obwohl ich UTF-8-Codierung verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!