在linuxredhat9上面设置mysql中文字符集
环境说明:
linux:redhat9
mysqlServerversion:4.1.12系统自带默认安装
异常错误:
java.sql.SQLException:Illegalmixofcollations(latin1_swedish_ci,IMPLICIT)and(gbk_chinese_ci,COERCIBLE)foroperation=
错误分析:
字符集冲突或者字符集设置不一致
解决办法:
1)修改数据库配置文件db.opt字符集为gbk,用户数据库位置:/var/lib/mysql/yourdb/db.opt
default-character-set=gbk
default-collation=gbk_chinese_ci
2)通过命令修改数据库的字符集
先查看字符集
mysql>s;
修改字符集
mysql>useyourdb
mysql>alterdatabaseyourdbcharactersetgbk;
若初次创建数据库请使用下面命令,牢记指定编码
mysql>createdatabaseyourDBcharactersetgbk;
说明:
1)yourdb是用户所创建的数据库
2)可以用下面命令查看mysql的系统默认安装位置
#ps-aux|grepmysql
Warning:badsyntax,perhapsabogus-?See/usr/share/doc/procps-3.2.3/FAQ
root182520.00.898202164pts/3S+16:490:00mysql-uroot-pxxxx
root194020.00.556481284?S17:070:00/bin/sh/usr/bin/mysqld_safe--defaults-file=/etc/my.cnf--
pid-file=/var/run/mysqld/mysqld.pid
mysql194350.07.812572820064?Sl17:070:00/usr/libexec/mysqld--defaults-file=/etc/my.cnf--basedir=/usr
--datadir=/var/lib/mysql--user=mysql--pid-file=/var/run/mysqld/mysqld.pid--skip-locking--socket=/var/lib/mysql/mysql.sock
3)可以查看/usr/lib/mysql/mysql_config文件的内容来了解mysql的目录安排情况
ldata=/var/lib/mysql
execdir=/usr/libexec
bindir=/usr/bin
pkglibdir=/usr/lib/mysql
pkgincludedir=/usr/include/mysql
fix_pathpkgincludedirinclude/mysqlinclude
version=4.1.12
socket=/var/lib/mysql/mysql.sock
port=3306
ldflags=
4)windows下mysql乱码处理总结可参考:http://www.itale.cn/archives/2006/10/27_27.html
5)为单引号