日期:2014-05-16  浏览次数:20756 次

hibernate mysql 远程连接问题 字符编码

报错:Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

?

一个表中不同的字段使用不同的字符集,也是一个道理。
用SHOW ? CREATE ? TABLE ? table_name;可以看出具体的字符集设置。

解决方法:
将不同的字符集,转化成统一的字符集。

?

?

1.1 如果是windows版本的mysql,那么在安装的时候,系统就会提示用哪种编码。
??? 如果安装的时候设置错误了,修改mysql安装目录下的my.ini文件:
??? [mysql]
??? default-character-set=utf8
??? ...
??? # The default character set that will be used when a new schema or table is
??? # created and no character set is defined
??? default-character-set=utf8
??? 配置好后,重启mysql。
? 1.2 如果是linux版本的mysql

??? 修改mysql的配置文件,使数据库与服务器操作系统的字符集设置一致。
??? vi /etc/my.cnf 设置(如果没有发现这个文件,就新建1个)
??? [mysqld]
??? datadir=/var/lib/mysql
??? socket=/var/lib/mysql/mysql.sock
??? default-character-set=utf8? (增加的关键一句,使得数据库缺省以utf8存储)
??? 当然,修改后,要重启数据库。(这样设置后对新建的数据库表才起作用)

?

然后重新将数据导入。

?