我有一个与unicode文本字符串在其中的MySQL数据库。我的JSF应用程序(在tomcat 6上运行)可以读取这些unicode字符串并在浏览器中正确显示它们。所有的html字符集都设置为UTF-8。Unicode字符正在保存不正确
当我保存我的对象时,即使没有做任何更改,Hibernate也会将其保留回数据库。如果我现在直接看数据库,我发现带有重音的字符变成了垃圾。
我的数据库连接字符串是:
<property name="hibernate.connection.url"
value="jdbc:mysql://database.address.com/dbname?autoReconnect=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8"/>
改变这种对的characterEncoding,而不是UTF8 UTF-8没有什么区别。
事实上,它确实在工作日前,但现在不是,我不知道要检查什么。你有什么建议吗?我可以提供任何被认为相关的更多信息。
删除'res.setContentType()',它只是多好不好。 bozho已经建议'req.setCharacterEncoding()'。有关更多详细信息和解决方案,请参阅[本文](http://balusc.blogspot.com/2009/05/unicode-how-to-get-characters-right.html)。 – BalusC 2010-12-02 18:08:44