at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
这是字符集的问题
首先、查看mysql的my.cnf,确认为utf8
mysql> show variables like "%char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> show variables like "%coll%";
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
二、查看表以及字段的的字符集是否为utf8
解决办法:
主要mysql编码碰到了问题,这里建议将mysql数据库的中文编码修改为utf8(所有地方)。
1)将mysql安装目录下的my.ini编码都修改为utf8
2)新建数据库时,选用utf8编码
3)新建varchar列时选用utf8编码,
保证解决编码问题!
----------
常用命令备忘
SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation_%';
SET collation_server = gb2312_chinese_ci
set names = utf8