數據庫字符集問題 1.列出MYSQL支持的所有字符集: SHOW CHARACTER SET; 2.當前MYSQL服務器字符集設置 SHOW VARIABLES LIKE 'character_set_%'; 3.當前MYSQL服務器字符集校驗設置 SHOW VARIABLES LIKE 'collation_%'; 4.顯示某數據庫字符集設置 show create database 數據庫名; 5.顯示某數據表字符集設置 show create table 表名; www.2cto.com 6.修改數據庫字符集 alter database 數據庫名 default character set 'utf8'; 7.修改數據表字符集 alter table 表名 default character set 'utf8'; 8.建庫時指定字符集 create database 數據庫名 character set gbk collate gbk_chinese_ci; 9.建表時指定字符集 CREATE TABLE `mysqlcode` ( `id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `content` VARCHAR( 255 ) NOT NULL ) TYPE = MYISAM CHARACTER SET gbk COLLATE gbk_chinese_ci; 庫字符集,在my.cnf中缺少了如下代碼: [client] default-character-set=utf8 [mysqld] default-character-set=utf8 如果不加以上代碼,那麼即便MYSQL編譯安裝時指定的編碼是UTF8,那麼在建庫時其默認編碼仍是LATIN1,而由於字符集的繼承性,庫中的表也是LATIN1的了。 windows下的方法是: www.2cto.com 1、windows系統 win下可使用類似如下語句處理。通過命令行進入mysql/bin所在目錄。 D:\usr\mysql41\bin>mysqldump -uroot -p --quick --compatible=mysql40 --default-character-set=latin1 --extended-insert=FALSE test2 > d:\zzz.sql test2是你想導出數據的數據庫名,d:\是路徑,設置成你希望的路徑就行了,zzz.sql是隨意命名的文件,名稱隨意,只要有.sql後綴名就行了。 程序會提示你輸入root的用戶密碼(如果存在密碼的話),輸入,程序開始導出。500MB的數據2-3分鐘就完成了。 2、第二步,通過phpmyadmin建立一個新庫,庫名:test ,采集字符集設定為utf8-general-li 或gb2312 www.2cto.com 3、將備份出來的sql文件導入新數據庫。 D:\usr\mysql41\bin>mysql -uroot -p --default-character-set=utf8 test < d:/zzz.sql 或 D:\usr\mysql41\bin>mysql -uroot -p --default-character-set=gb2312 test < d:\zzz.sql 這一步花的時間相對較長,200MB數據花了10分鐘左右。 作者 a442180673