mysql伺服器的字符集

長風破浪發表於2015-03-23

文章:http://www.cnblogs.com/fantiantian/p/3468454.html

的評論中有這樣的文字: 謝謝滄海一滴的總結

在Linux中一般都是UTF-8字符集。我們在建資料庫時也最好使用UTF-8資料集。

一 Linux中檢視修改字符集

1、檢視伺服器字符集

1)、檢視當前伺服器字符集  #locale
2)、檢視伺服器支援的字符集  #locale -a

2、修改/etc/sysconfig/i18n 檔案,設定字符集;
類似以下內容
#LANG="en_US.UTF-8"
#SYSFONT="latarcyrheb-sun16"
LANG="zh_CN.UTF-8"
SYSFONT="lat0-sun16"
3、讓設定的字符集生效
#source /etc/sysconfig/i18n

二 mysql伺服器中的字符集

mysql伺服器中有六個關鍵位置使用了字符集的概念,其他資料庫與之類似。

他們是:client 、connection、database、results、server 、system。

1、其中client是客戶端使用的字符集,相當於網頁中的字符集設定如下 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">。

2、其中的connection是連線資料庫的字符集設定型別,如果php沒有指明連線資料庫使用的字符集型別 就按照伺服器端預設的字符集設定。

3、其中database是資料庫伺服器中某個庫使用的字符集設定,如果建庫時沒有指明,將使用伺服器安裝 時指定的字符集設定。

4、results是資料庫給客戶端返回時使用的字符集設定,如果沒有指明,使用伺服器預設的字符集。

5、server是伺服器安裝時指定的預設字符集設定。

6、system是資料庫系統使用的字符集設定。

system一般預設是utf-8字符集,server是最高的字符集設定,database沒有單獨設定就按照server的字元 集設定,其他都是按照server的設定設定字符集。

  還有,資料庫內的每個表和欄位也都有字符集的概念,一般都是根據上一級結構決定自身的字符集,

  比如表就根據database庫的設定決定自己的字符集,欄位根據表來決定自己 的字符集。

 

相關文章