軟件測試開發技術MySQL字符集:怎樣才能保證不發生亂碼

發表于:2009-10-15來源:作者:點擊數: 標簽:軟件測試mySQLMySQLMysqlmysql
軟件測試 開發 技術MySQL字符集:怎樣才能保證不發生亂碼 MySQL數據庫 關鍵字:MySQL 不發生亂碼 數據庫中關于字符集的種類有很多,對編程有影響的主要是客戶端字符集和數據庫字符集(還有一個 服務器 字符集,不知道干什么用的)。 數據庫中常用的操作就是保

軟件測試開發技術MySQL字符集:怎樣才能保證不發生亂碼  MySQL數據庫

關鍵字: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;

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97