2010-06-08 107 views
4

我想知道什麼是二進制字符集和ISO/IEC 8859-1又名Latin-1字符集有什麼不同?什麼是二進制字符集?

+0

什麼語言? MySQL的? – kennytm 2010-06-08 11:23:54

+1

關於字符編碼有一篇不錯的文章: http://en.wikipedia.org/wiki/Character_encoding – Paya 2010-06-08 11:25:45

+0

我在Sybase文檔中發現了這個術語(二進制字符集),但它也用於MySQL術語中。 – 2010-06-09 07:16:37

回答

3

在MySQL文檔中有關於The _bin and binary Collations的頁面。

非二進制字符串(存儲在CHAR,VARCHAR和TEXT數據類型中)具有字符集和歸類。一個給定的字符集可以有多個排序規則,每個排序規則爲集合中的字符定義了特定的排序和比較順序。其中之一是字符集的二進制排序規則,由排序規則名稱中的_bin後綴指示。例如,latin1和utf8具有名爲latin1_bin和utf8_bin的二進制排序規則。

二進制字符串(存儲在BINARY,VARBINARY和BLOB數據類型中)在非二進制字符串的意義上沒有字符集或排序規則。 (應用於二進制字符串,CHARSET()和COLLATION()函數都返回二進制值。)二進制字符串是字節序列,這些字節的數值確定排序順序。

依此類推。也許更有意義?如果沒有,我建議您在文檔中進一步查看關於這些事情的描述。如果是一個概念,應該解釋。通常是:)

+0

將字符串明確設置爲二進制的二進制字符串(存儲在'binary','varbinary',blob')與字符串('char','varchar','text')之間有什麼區別? – Pacerier 2012-07-11 16:13:11

+0

二進制是,二進制的東西。我會用圖像數據,二進制哈希等任何東西。不是字符串和字符。 – Svish 2012-07-12 16:03:26

+0

我之前檢查過。 'binary'和'char charset binary'沒有區別。 MySQL將charset設置爲二進制的'char'解釋爲'binary'的同義詞。 – Pacerier 2012-07-12 17:02:06