我有一个 Spring Web 应用程序通过 hibernate 与 mySQL 数据库通信。我正在尝试将 utf8mb4 设置为数据库字符编码。我已执行以下步骤:
使用设置我的数据库
SET NAMES utf8mb4; ALTER DATABASE mydb CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
将 hibernate URL 更改为
hibernate.connection.url = jdbc:mysql://localhost:myport/mydb?character_set_server=utf8mb4
- 将
SET NAMES 'utf8mb4'
添加到我的 Spring 应用程序配置上的数据库连接初始 SQL - 在 my.cnf 中添加了
character_set_server=utf8mb4
我设法让我的应用程序与本地数据库正常工作。我还发现步骤 2 不是必需的,如果没有步骤 4,我的设置就无法在本地工作。
然而在 Openshift 中我还没有找到执行步骤 4 的方法。这个问题还有其他解决方案吗?我尝试通过 phpMyAdmin 变量更改 character_set_server
,但这也不起作用。
最佳答案
还有另一个 MySQL 卡带可以配置为使用 utf8mb4。只需备份数据库中的数据即可。删除您的 MySQL 盒并添加此盒:
https://github.com/amgohan/openshift-origin-cartridge-mysql-utf8mb4
最后将备份恢复到新数据库中。
关于mysql - Openshift mySQL字符集服务器utf8mb4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40577470/