在我的过程中,我解析google maps kml,并通过DBIx::Class
将它与perl一起输入数据库。
如果我使用psql提取数据,一切看起来都很好,但是如果我通过DBIx::Class
提取数据,所有utf-8字符看起来都已损坏。
在sqlite3中完成的完全相同的过程就像一个符咒。
我已经在客户端启用了pg_enable_utf8
。
有人知道为什么会这样吗?
最佳答案
http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class/UTF8Columns.pm#Warning_-_Module_does_not_function_properly_on_create/insert
如果您使用的是INSERT
,那么上述警告可能与您的流程有关。
另外,也许让脚本在服务器上执行SET CLIENT_ENCODING TO 'value';
会有帮助,其中value=UTF8。更多信息请参见http://www.postgresql.org/docs/9.0/static/multibyte.html。
关于perl - Postgresql中的utf-8字符串发生了什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26130786/