Frage

Ich bin ein kleines Problem mit einem PHP-GTK App habe, die lief in Strings nicht-UTF-8 hält, hatte ich festgestellt, dass das Problem in der Datenbankverbindung ist, auch wenn die Datenbank in UTF-8 sein soll.

hatte ich versucht, mit der (MySQL Art und Weise) „CHARACTER SET utf8 SET“ und die „NAMES UTF8 SET“ und nichts passiert (es gibt keine Informationen über keines dieser Befehle in dem „ Query Language von SQLite verstanden “Seite entweder, also bin ich nicht überrascht, dass).

PD:. Vielleicht ist die Verbindung bereits in UTF-8 und die Daten nicht, aber wenn es eine Möglichkeit ist, die Verbindung Codierung dieser Frage nach wie vor sinnvoll wäre, zu ändern

War es hilfreich?

Lösung

Soweit ich das beurteilen kann, SQLite hat nur eine Einstellung für charset , die ist auf einer pro-Datenbankebene. Sie können nicht die Codierung auf der Verbindung ändern.

C API hat zwei verschiedene Arten von Öffnen einer Verbindung, entweder als UTF- 8 oder UTF-16. Ich würde PHP SQLite-Modul (und damit PDO) erwarten, einfach die UTF-8-Version. Wenn das stimmt, würde ich erwarten, dass eine SQLite-Verbindung ist immer UTF-8. Das bedeutet, dass Sie sollten manuell kodieren / dekodieren Strings mit utf8_encode / utf8_decode .

Siehe auch: http://www.alberton.info/dbms_charset_settings_explained.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top