我正在使用 tomcat 7 和 spring 从 amazon rds 运行一个 webapp,它使用 hibernate 作为持久层。该应用程序和 utf-8 编码在本地主机上正常工作,但由于某种原因,当我部署到 amazon 时,UTF-8 编码中断。
我在 amazon rds 上使用 mysql 5.5.27,并且我们希望更新的表的排序规则设置为 utf8 - utf8_unicode_ci
在休眠状态下我已经设置:< prop key="hibernate.connection.charSet">UTF-8
UTF-8 字符被 ??? 取代,这对于密码、用户名 + 电子邮件来说尤其糟糕,因为它基本上会杀死它们。
有人在部署到亚马逊时遇到过字符编码破坏吗?
答案1
最简单的解决方案位于以下链接中:
https://stackoverflow.com/a/22940024/2146313
我已尝试过并成功了。
解决方案本质上是:
在 RDS 中创建一个新的参数组。我更改的是character_set_*
和collation_*
。大约有 8 个设置,我将它们全部更改为utf8
和utf8_unicode_ci
。然后分配您的数据库实例以使用这个新参数组。