特殊字符错误地存储在POSTGRES DB中

时间:2014-12-16 11:33:45

标签: java hibernate postgresql encoding character-encoding

项目基于 Postgres数据库版本9.3.5, Java 7,org.hibernate hibernate-core 3.6.10.Final

问题: 我有两个独立的系统运行相同的Web应用程序。系统中的所有内容都保存在其他字符串上,发送到Postgres数据库的字符串包含unicode字符,像'nnés'这样的文本被保存为'nns'或'nnés-2'。我注意到这两个系统之间的唯一区别是在进行SHOW client_encoding时显示UNICODE和otherUTF8作为客户端编码;在控制台中。一个正在运行的unicode工作正常,另一个没有。

我的问题是 是否有可能客户端编码以某种方式卡住/硬编码并且没有基于真实客户端编码进行选择,这意味着在unicode中发送的字符串不会转换为UTF8而只是持久化。

这种行为可能是什么原因。

1 个答案:

答案 0 :(得分:0)

尝试request.setCharacterEncoding("UTF-8");