數(shù)據(jù)庫中常用的操作就是保存數(shù)據(jù)和讀取數(shù)據(jù),在這過程中,亂不亂碼和數(shù)據(jù)庫字符集貌似沒有什么關(guān)系。我們只要保證寫入時選擇的字符集和讀取時選擇的字符集一致,即只需保證兩次操作的客戶端字符集一致即可。
客戶端字符集的設(shè)置,依據(jù)客戶端不同方法不同:
1. 使用控制臺連接,在my.ini文件中的client項里面設(shè)置;
2. 使用ems連接,優(yōu)先使用ems連接配置的字符集,默認(rèn)使用my.ini文件中的設(shè)置;
3. jdbc連接,在連接串中指定:
jdbc:mysql://192.168.3.99:3306/test?useUnicode=true&;characterEncoding=gbk
在寫入時Mysq會將客戶端指定的字符集轉(zhuǎn)換成數(shù)據(jù)庫字符集存入數(shù)據(jù)文件,讀取時又將數(shù)據(jù)庫字符集轉(zhuǎn)換成客戶端指定的字符集展示給客戶端,把客戶端字符集和數(shù)據(jù)庫字符設(shè)置一致,顯而易見的好處是免掉轉(zhuǎn)換的性能損耗;另外,如果考慮到以后數(shù)據(jù)庫的遷移,將數(shù)據(jù)庫字符集設(shè)置為大多數(shù)數(shù)據(jù)庫都支持的字符集會省掉很大麻煩。
幾個字符集相關(guān)的命令:
1. 查看 MySQL 數(shù)據(jù)庫服務(wù)器字符集,數(shù)據(jù)庫字符集和客戶端字符集
show variables like ’%char%’;
character_set_client,客戶端字符集
character_set_database,數(shù)據(jù)庫字符集
character_set_server,服務(wù)器字符集
2. 查看 MySQL 數(shù)據(jù)表(table) 的字符集
show table status from tablename like ’%countries%’;
3. 查看 MySQL 數(shù)據(jù)列(column)的字符集。
show full columns from tablename;
4. 查看當(dāng)前安裝的 MySQL 所支持的字符集。
show char set
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com