带有 beanstalk Hibernate 应用程序的 AWS RDS Mysql:字符编码问题

带有 beanstalk Hibernate 应用程序的 AWS RDS Mysql:字符编码问题

我正在使用 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 个设置,我将它们全部更改为utf8utf8_unicode_ci。然后分配您的数据库实例以使用这个新参数组。

相关内容