How to change character encoding of a PDO/SQLite connection in PHP? How to change character encoding of a PDO/SQLite connection in PHP? sqlite sqlite

How to change character encoding of a PDO/SQLite connection in PHP?


As far as I can tell, SQLite only has one setting for charset, which is on a per-database level. You can't change the encoding on the connection.

The C API has two different ways of opening a connection, either as UTF-8 or UTF-16. I would expect PHP's SQLite module (And thus PDO) to simply use the UTF-8 version. If that's correct, I would expect that a SQLite connection is always UTF-8. This means that you ought to manually encode/decode strings with utf8_encode/utf8_decode.

Also see: http://www.alberton.info/dbms_charset_settings_explained.html