使用postgresql中文乱码的原因
小编给大家分享一下使用postgresql中文乱码的原因,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
创新互联建站专注于企业网络营销推广、网站重做改版、可克达拉网站定制设计、自适应品牌网站建设、html5、商城网站定制开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为可克达拉等各大城市提供网站开发制作服务。
在使用PostgreSQL数据库,输入中文时,会遇到“ERROR: invalid byte sequence for encoding "UTF8": 0xd6d0”的错误,原因是由
于没有正确设置客户端字符集。
问题的原因:
默认情况下,PostgreSQL是不转换字符集的,如果你的数据库是UTF8的字符集,一般终端的中文字符集会设置为GBK,或en_US(查看
终端的字符集可以看LANG环境变量的设置),所以你输入的中文是GBK的编码,这个编码不经转换的存入数据库中,而数据库是UTF8
的,PostgreSQL一看没有这样的UTF8编码,所以当然报错了。
解决方法为:
方法一:设置postgresql的客户端编码为GBK,这时PostgreSQL就知道输入的内容是GBK编码的,这样PostgreSQL数据库会自动做字符
集的转换,把其转换成UTF8编码。
方法二:直接设置终端的字符集编码为UTF8,让输入的编码直接为UTF8,而不是GBK。
看完了这篇文章,相信你对使用postgresql中文乱码的原因有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
文章题目:使用postgresql中文乱码的原因
标题链接:http://scyanting.com/article/jpcijc.html