UTF-8 字符保存为 ?在 Linux MySQL

UTF-8 characters saved as ? on Linux MySQL

我有一个 Spring 应用程序 Tomcat 和 MySql 在 Windows 中运行没有问题,但是当它在 运行 上运行时 [=22] =] 服务器,特殊的 utf-8 字符(如西班牙语 Ñ)保存在 Mysql table 中,带有 ?象征。 如果我直接在数据库上更改此字符,应用程序会正确显示它。当 Ñ 被替换为 ?

时,我使用应用程序保存对象

其他应用 运行 在同一台服务器上,它们没有这个问题。 数据库有 UTF-8 charset/collation.

有人可以帮忙吗? 百万感谢!

确保您的 Datasource URL 包含 UTF-8 字符编码!

示例:

jdbc:mysql://localhost:3306/databaseName?useUnicode=yes&characterEncoding=UTF-8

您必须将正确的编码放入 属性文件 DataSource URL 中。 (characterEncoding=UTF-8)