使用utf-8编码的好处:
1,国际化,能包容其他编码
2,在用java开发的时候,省去了烦人的汉字编码问题
把mysql从gb2312转到utf-8的方法:
环境:win2000 server,mysql 4.1.11-nt
1,导出原来的数据
>mysqldump --opt --default-character-set=latin1 --user=root --password company>company.sql
或>mysqldump --opt --default-character-set=gb2312 --user=root --password company>company.sql
导出后查看是否正确,汉字显示正常即可
2,重装mysql server,把缺省编码设置为utf-8
不重新安装server也可以,只要把数据库,数据表编码转成utf-8就可以了。
我重装以后,用show variables显示为:
mysql> show variables;
+---------------------------------+--------------------------+
| Variable_name | Value |
+---------------------------------+--------------------------+
| back_log | 50 |
| basedir | C:\mysql\ |
| binlog_cache_size | 32768 |
| bulk_insert_buffer_size | 8388608 |
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\mysql\share\charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
3,用editplus v2.12打开导出的脚本文件,在前面加上:
SET NAMES utf8;
SET CHARACTER_SET_CLIENT=utf8;
然后把文件另存为utf-8编码的格式
如果脚本文件中有指定数据表编码的语句,如"DEFAULT CHARSET=latin1",需要全部删掉
4,导入数据
>mysql -uroot -p company<company.sql
5,检查是否正确
回复 更多评论