資料庫字符集問題

2021-12-30 09:04:15 字數 1803 閱讀 8122

資料庫字符集問題

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

資料庫字符集問題

今天同事錄入資訊是,報了個錯,sql異常,說 字元太長,我試了試我這沒事啊!他用的是自己機子上的資料庫,當時很奇怪,後來還是解決了,原因如下 使用如下sql語句,檢視資料庫的字符集編碼,這一列nls characterset select from nls database parameters i...

mysql資料庫字符集問題

向mysql資料庫插入漢字的時候,說是data too long 檢視我設定的長度 是varchar 長度100,後來想想可能是字符集的問題,重新設定資料庫的字符集後就ok mysql create database database name character set gbk 或者是utf 8都...

SYBASE資料庫字符集問題

最近做乙個專案,需要使用sybase資料庫。基本功能就是從sybase中讀取資訊在頁面顯示。頁面字符集是utf 8 sybase預設字符集是 encgb 本來功能是正常的。最近發現乙個問題,在資料庫中儲存一些生僻字後,如果直接用isql在sybase資料庫裡寫是可以正常儲存的。例如 喆,在資料庫裡儲...