Java 调试MySQL字符集错误

Java 调试MySQL字符集错误,java,mysql,jpa,character-encoding,Java,Mysql,Jpa,Character Encoding,我有一个项目,我从一个HTML文件中提取一些数据,将其放入MySQL数据库,然后再次读取并向用户显示。每当servlet向数据库中插入内容时,“£”符号将作为� 当再次读出时,呈现为那样 该应用程序是用Java(使用Spring)和JPA编写的,使用EclipseLink作为JPA实现 我已经将问题缩小到MySQL的插入,因为当我在控制台中查看表时,出现了问号 我已经将MySQL配置为使用UTF-8作为my.cnf中的标准编码 [mysqld] default-character-set=utf

我有一个项目,我从一个HTML文件中提取一些数据,将其放入MySQL数据库,然后再次读取并向用户显示。每当servlet向数据库中插入内容时,“£”符号将作为� 当再次读出时,呈现为那样

该应用程序是用Java(使用Spring)和JPA编写的,使用EclipseLink作为JPA实现

我已经将问题缩小到MySQL的插入,因为当我在控制台中查看表时,出现了问号

我已经将MySQL配置为使用UTF-8作为my.cnf中的标准编码

[mysqld]
default-character-set=utf8
如果我跑

SHOW TABLE STATUS;
我可以看出这些表格的排序规则是正确的

utf8_general_ci
这表明字符集也是UTF-8

此外,还有: mysql>显示创建数据库门

+----------+---------------------------------------------------------------+
| Database | Create Database                                               |
+----------+---------------------------------------------------------------+
| gate     | CREATE DATABASE `gate` /*!40100 DEFAULT CHARACTER SET utf8 */ | 
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)
因此,Java是完全unicode(?)的,我的DB设置为UTF-8,在哪里可以查找错误配置/错误?

您有:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


在HTML页面中?

您的连接字符集是什么?请看一看以及一节,您还应该告诉您的mysql驱动程序使用utf8

db.url=jdbc:mysql://HOST:3306/DB?characterEncoding=utf8