MySQL字符集:怎樣才能保證不發生亂碼

數據庫中關于字符集的種類有很多,對編程有影響的主要是客戶端字符集和數據庫字符集(還有一個服務器字符集,不知道幹什麽用的)。

數據庫中常用的操作就是保存數據和讀取數據,在這過程中,亂不亂碼和數據庫字符集貌似沒有什麽關系。我們只要保證寫入時選擇的字符集和讀取時選擇的字符集一致,即只需保證兩次操作的客戶端字符集一致即可。

客戶端字符集的設置,依據客戶端不同方法不同:

1. 使用控制台連接,在my.ini文件中的client項裏面設置;

2. 使用ems連接,優先使用ems連接配置的字符集,默認使用my.ini文件中的設置;

3. jdbc連接,在連接串中指定:

jdbc:mysql://192.168.3.99:3306/test?useUnicode=true& ;characterEncoding=gbk

在寫入時Mysq會將客戶端指定的字符集轉換成數據庫字符集存入數據文件,讀取時又將數據庫字符集轉換成客戶端指定的字符集展示給客戶端,把客戶端字符集和數據庫字符設置一致,顯而易見的好處是免掉轉換的性能損耗;另外,如果考慮到以後數據庫的遷移,將數據庫字符集設置爲大多數數據庫都支持的字符集會省掉很大麻煩。

幾個字符集相關的命令:

1. 查看 MySQL 數據庫服務器字符集,數據庫字符集和客戶端字符集

show variables like '%char%';

character_set_client,客戶端字符集

character_set_database,數據庫字符集

character_set_server,服務器字符集

2. 查看 MySQL 數據表(table) 的字符集

show table status from tablename like '%countries%';

3. 查看 MySQL 數據列(column)的字符集。

show full columns from tablename;

4. 查看當前安裝的 MySQL 所支持的字符集。

show char set;

· 把年齡相仿的獅虎熊放一起,誰更厲害?結果出人意料

很多人都想知道獅子、老虎和熊打起來誰最厲害,于是便有好事之人把這三種動物關在一起...

· 湖北宜昌三峽壩區水面驚現神秘動物

近日,湖北宜昌,一段視頻在當地熱傳:有網友在三峽壩區拍到神秘動物,體型碩大數米長...

· 什麽是語段?語段的類型以及和句群、段落的區別與聯系是什麽?

句群是最高級的語言單位。 段落(自然段)是章法單位...

 
怎樣才能保證不死魚? 動物世界
誰都能成功地養住魚,而不必不停地替換死魚。大多數熱帶魚能夠活至少一年或二年,壽命長的種類能活不止十年。在下面我將列出魚的最大死亡原因並教你如何避免它。 1.在你水中的氯 我不知道爲什麽並不是每個人都了...查看完整版>>怎樣才能保證不死魚? 動物世界
 
豬流感爆發,怎樣才能保證企業的日常運作啊?
想不到經濟還沒恢複,豬流感又爆發了,真是雪上加霜啊!現在我們都減少了出差,跟客戶的會面也減少了,再這樣下去不知道我們還能堅持多久,擔心!豬流感一爆發,經濟就更加蕭條了。在這個全球旅行的時代,沒有一個地...查看完整版>>豬流感爆發,怎樣才能保證企業的日常運作啊?
 
怎樣才能解決MySQL 5.0.16的亂碼問題
問:怎樣解決MySQL 5.0.16的亂碼問題? 答:MySQL 5.0.16的亂碼問題可以用下面的方法解決: 1.設置phpMyAdmin Language:Chinese simplified (zh-utf-8) MySQL 字符集:UTF-8 Unicode (utf8) MySQL 連接校對 gbk_chin...查看完整版>>怎樣才能解決MySQL 5.0.16的亂碼問題
 
MySQL字符集産生亂碼的簡單講解
//標題:MySQL字符集簡單講解(個人總結)//作者:dx_andy//時間:2007.8.27 晚//測試環境:win32 MySQL 5.0.45//原因:自己的MySQL出現亂碼問題 MySQL自4.1版本推出之後爲我們國人帶來的亂碼...查看完整版>>MySQL字符集産生亂碼的簡單講解
 
上班族容易失眠,怎樣才能保證睡眠?
1 加強體育鍛煉 2 合理飲食 3注意勞逸結合,防止用腦過度 4保持心情愉快,培養樂觀生活態度。...查看完整版>>上班族容易失眠,怎樣才能保證睡眠?