使用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,檢查是否正確
回復 更多評論