技术文章 > 数据库 > PostgreSQL > 正文

postgresql使用中文乱码怎么破解

silencement

在使用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。

推荐学习《Python教程》。

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 postgresql是什么样的数据库
 为什么postgresql无法登录
 postgresql大小写有什么好处
 无法启动PostgreSQL怎么办
相关视频章节
 数据库设计
 数据库基础
 数据库查询语言 SQL
 数据库的修改和迁移
作者信息
视频教程分类