top
Loading...
5.10.1.數據和排序用字符集
5.10.1. 數據和排序用字符集
5.10.1.1. 使用德國字符集

默認情況下,MySQL使用cp1252(Latin1)字符集根據Swedish/Finnish規則進行排序。這些 默認值適合美國和西歐大部分國家。

所有MySQL二進制分發版用--with-extra-charsets=complex編譯而成。可以在所有標準程序中添加代碼,使它們可以處理latin1和所有多字節二進制字符集。其它字符集根據需要從字符集定義文件載入。

字符集確定在名稱中使用什么字符。它還確定如何用SELECT語句的ORDER BYGROUP BY子句對字符串進行排序。

還可以在啟動服務器時用--default-character-set選項更改字符集。字符集可以用--with-charset=charset--with-extra-charsets=list-of-charsets | complex | all | none選項來configure,字符集配置文件列于SHAREDIR/charsets/Index。參見2.8.2節,“典型配置選項”。

還可以在你啟動服務器時用--default-collation選項更改字符集 校對規則。校對規則必須是默認字符集的合法校對規則。(使用SHOW COLLATION語句來確定每個字符集使用哪個校對規則) 參見2.8.2節,“典型配置選項”。

如果在運行MySQL時更改字符集,還會更改排序順序。結果是你必須對所有表運行myisamchk -r -q --set-character-set=charset ,或正確地對索引進行排序。

當客戶端連接MySQL服務器時,服務器告訴客戶端服務器的默認字符集是什么。客戶端切換到該字符集進行連接。

當轉義SQL查詢的字符串時,你應使用mysql_real_escape_string()mysql_real_escape_string()等價于舊的mysql_escape_string()函數,不同的是它使用MYSQL連接句柄作為第一個參數,以便轉義字符時可以使用相應的字符集。

如果客戶端的編譯路徑不是服務器的安裝目錄,并且配置MySQL時沒有包括MySQL二進制中的所有字符集,如果服務器運行時需要使用客戶端設置的字符集之外的其它字符集,你必須告訴客戶端從哪里找到更多的字符集。

可以指定--character-sets-dir選項來表示動態MySQL字符集所保存目錄的路徑。例如,可以將下面的行放入選項文件中:

[client]
character-sets-dir=/usr/local/mysql/share/mysql/charsets

你可以強制客戶端使用專用字符集:

[client]
default-character-set=charset

但是一般情況不需要。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html
北斗有巢氏 有巢氏北斗