mysql数据库支持中文
今天写程序用到了mysql数据库,需要支持中英文,好久没用过mysql数据库了,以前用的时候也就是做演示小程序用没注意过这个问题,今天试了一下发现不支持中文。于是google了不少解决的方法,感觉很杂很乱,于是自己尝试了一些,在这里做个总结,方便自己也方便别人。
mysql不支持中文是编码的问题,我的平台用的是linux平台,如果用windows平台可能会好一些。支持中的编码一班就是gbk,gb2312,这两个都是支持中英文的,是国标,如果做国际化最好是用utf8编码格式,这个是国际规范,支持的字符类型也很广,支持汉字,朝鲜语,日本语等等。而且linux平台和java都是默认编码是utf8,所以如果支持中文推荐将字符集设置成utf8可以一劳永逸,解决一些不必要的麻烦,对未来系统升级也可能有帮助。下面对设置方法进行列举
1.治标先治本,最好的方法就是在安装mysql的时候设置默认字符集为utf8(不过这个好像在windows下好用,linux下安装时我没发现这个选项)。---->未测试
2.安装完后再修改编码格式。mysql默认安装的编码格式是latin1(不支持中文),所以安装完后需要修改,修改步骤如下:
1)首先查看当前的编码格式。通过命令行输入“show variables like 'char%'”。----->测试通过
2)如果是结果为
+--------------------------+----------------------------+| 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可以支持中文。如果不是,则先停止mysql,修改mysql配置文件,my.conf,然后再启动mysql,linux下命令
sudo /etc/init.d/mysql stop //停止mysqlsudo gedit /etc/mysql/my.cnf //修改配置文件sudo /etc/init.d/mysql start //启动mysql
show variables like 'char%'查看是不是支持中文的编码格式,如果不是则修改,我是通过mysql的图形界面工具guiTools修改的。 ----->测试通过