【发布时间】:2009-08-07 21:01:58
【问题描述】:
我有一个项目,我从 HTML 文件中抓取一些数据,将其放入 MySQL 数据库,然后再次将其读出并显示给用户。每当 servlet 向 DB 中插入某些内容时,“£”符号就会被插入为 �,而当再次读出时,会显示为该符号。
应用程序是用 Java(使用 Spring)和 JPA 编写的,EclipseLink 作为 JPA 实现。
我已将问题范围缩小到插入 MySQL,因为当我在控制台中查看表时,会出现问号。
我已将 MySQL 配置为在 my.cnf 中使用 UTF-8 作为标准编码
[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(?)并且我的数据库设置为 UTF-8,我在哪里可以查找错误配置/错误?
【问题讨论】:
标签: java mysql jpa character-encoding