加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL编码问题

发布时间:2020-12-13 17:22:02 所属栏目:百科 来源:网络整理
导读:PG jdbc报错消息乱码问题 jdbc报错消息乱码: org.postgresql.util.PSQLException:????????:????"postgres"Password???????? 正确的应该是显示: org.postgresql.util.PSQLException:ErrorFATAL:passwordauthenticationfailedforuser"postgres" 解决方式是:

PG jdbc报错消息乱码问题

jdbc报错消息乱码:

org.postgresql.util.PSQLException:????????:????"postgres"Password????????

正确的应该是显示:

org.postgresql.util.PSQLException:ErrorFATAL:passwordauthenticationfailedforuser"postgres"


解决方式是:

将PG数据库data目录下的postgresql.conf配置文件中的lc_messages 设置为lc_messages = 'C'或者lc_messages = 'UTF8',重启数据库后即可。

注意:如果想要PG数据库系统表现得像没有区域支持一样,那么使用特殊的区域 C 或 POSIX
在PG中,一些区域性质的值一旦运行了 initdb 之后,你就再也不能更改它们了。LC_COLLATE 和 LC_CTYPE 就是这样的。它们影响索引的排序顺序,因此它们必需保持固定,其它区域性质可以在服务器启动的时候根据需要通过配置postgresql.conf变量来改变,如果你在 postgresql.conf 里面删除了这些缺省值,那么服务器将会继承来自运行环境的设置。

参考资料:

  1. 消息乱码的解决方法:http://www.xuebuyuan.com/65748.html

  2. PG与操作系统的区域和字符集:http://blog.chinaunix.net/uid-354915-id-3502551.html

  3. jdbc对pg7.3前后的字符集支持:http://acogitosis.krop.pl/2011-11-18-solution-to-postgres-jdbc-driver-ignoring-charset-directive-with-sql_ascii-database


该类问题主要出现在操作系统是中文的情况,英文的操作系统一般没问题。

相关问题:

安装PG的时候没有使用英语,但怎么所有的消息都是英文?!

安装过程中的语言选择仅是选择安装程序所使用的语言。要更改安装产品中消息的语言,请确保您安装了区域语言支持(Natural language support)功能组件。然后编辑安装的 postgresql.conf 配置文件,修改其中的lc_messages参数值为您需要的语言。

参考资料:

https://wiki.postgresql.org/wiki/%E5%9C%A8Windows%E5%B9%B3%E5%8F%B0%E4%B8%8A%E5%AE%89%E8%A3%85%E4%B8%8E%E8%BF%90%E8%A1%8CPostgreSQL%E7%9A%84%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E4%B8%8E%E8%A7%A3%E7%AD%94


官方文档相关:

9.2英文:http://www.postgresql.org/docs/9.2/static/charset.html

9.3中文:http://58.58.27.50:8079/doc/html/9.3.1_zh/charset.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读