PHP PDO / SQLite bağlantısı karakter kodlamasını değiştirmek nasıl?

1 Cevap php

Ben olmayan utf8 dizeleri içine çalışan tutan bir php-gtk uygulaması ile küçük bir sorun yaşıyorum, ben sorun veritabanı UTF-8 olması gerekiyordu bile, veritabanı bağlantısı olduğunu bulmuştu.

I had tried with the "SET CHARACTER SET utf8"(MySQL way) and the "SET NAMES UTF8" and nothing happen (there isn't any information about none of this commands in the "Query Language Understood by SQLite " page either, so I'm not surprised about that).

PD: Belki bağlantı UTF-8 zaten ve veri değil, ancak bağlantı kodlamasını değiştirmek için bir yol olup olmadığını bu soru hala yararlı olacaktır.

1 Cevap

Bildiğim kadarıyla söyleyebilirim, SQLite only has one setting for charset, bir veritabanı başına düzeyinde olduğu. Sen bağlantıda kodlamasını değiştiremezsiniz.

C API ya UTF-8 veya UTF-16 gibi, two different ways bağlantı açma vardır. PHP'nin SQLite modülü (Ve böylece PDO) sadece UTF-8 sürümünü kullanmak için beklenebilir. Bu doğruysa, ben bir SQLite bağlantı her zaman UTF-8 olduğunu beklenebilir. Bu el utf8_encode / utf8_decode ile / kod dizeleri kodlamak gerektiğini anlamına gelir.

Ayrıca bakınız: http://www.alberton.info/dbms_charset_settings_explained.html