gpt4 book ai didi

java - mariadb 的字符串不正确,而 mysql 5.5 的字符串不正确

转载 作者:行者123 更新时间:2023-11-29 18:17:33 26 4
gpt4 key购买 nike

使用 payara (glassfish) 的 java 应用程序尝试将电子邮件正文保存到数据库的列中(使用 eclipslink)我们在两台不同的服务器上有相同的应用程序,数据库服务器有所不同:第一个使用 mariadb 10.1.26 (java 1.8.0_131),第二个使用 mysql 5.5.57 (java 1.8.0_144)来自第一台服务器的相同邮件抛出

Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.3.qualifier): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect string value: '\xEF\xBF\xBD1 h...' for column 'msg_body' at row 1

对我来说真正奇怪的是,使用第二个服务器,导入变得流畅,没有警告,正文已保存

我们已经检查了两台服务器的配置,似乎都是相同的以下内容在两个数据库上完全相同:

-所有表格的字符集名称都是latin1

-变量排序规则是

collat​​ion_connection = utf8mb4_unicode_ci

collat​​ion_database = utf8mb4_general_ci

collat​​ion_server = utf8mb4_general_ci

如上所述,两个数据库具有完全相同的conf。有人知道为什么一台服务器可以工作而另一台服务器不能工作吗?

最佳答案

我们做了大量测试似乎差异在于数据库服务器全局变量,其中带有 mariadb 的机器有 utf8mb4_general_ci,而 mysql 有 latin1_swedish_ci更改 mariadb 服务器上的这些值“似乎”已经解决了问题

关于java - mariadb 的字符串不正确,而 mysql 5.5 的字符串不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46894963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com