PostgreSQL, DBD::Pg и utf-8 флаг

Некоторые версии DBD::Pg (старые) имеют очень весёлую особенность — utf-8 строки из базы приходят с неустановленным флагом utf8.

В текущей версии (2.19 к примеру) надо использовать pg_enable_utf8 — $dbh->{pg_enable_utf8}; в следующей версии (3) будут изменения:

http://blog.endpoint.com/2011/06/dbdpg-utf-8-for-postgresql.html объясняет в чём дело и что будет  новой версии DBD::Pg. Вкратце, если на выходе из DBD::Pg появляются странные крякозябры, надо попробовать добавить $dbh->{pg_utf8_strings } = 1; там же упоминается устаревший флаг pg_enable_utf8 — в новой бете он объявляется deprecated.

@@ -1,17 +1,5 @@
 'GSM' is Greg Sabino Mullane, greg@turnstep.com)

-Version 2.99.9_1 (will be 3.0.0)
-
-  - Cleanup and overhaul the UTF-8 support. Use the server_encoding to
-    determine if we set the internal utf8 flag on text from the database.
-    Default to always doing so unless using SQL_ASCII.
-
-  - Replace pg_enable_utf8 with pg_utf8_strings [GSM]

Comments are closed.