MySQL字串和編碼

2021-06-22 04:34:05 字數 653 閱讀 1012

1、utf-8和utf8有區別,在mysql_query中使用utf-8可能會導致phpmyadmin顯示亂碼

2、utf8_general_ci和utf8-unicode_ci有區別,前者效率更高,但後者比較規則更完備,一般使用前者

3、在php中utf-8中文字元長度為3個字元,gbk長度為2個字元,可使用如下**測試:

<?php

header(『content-type:text/html;charset=utf-8′);

$str=』中』;

echo strlen($str);

?>

結果為3;如果用mb_strlen($str,』utf8′),則結果為1

4、在mysql中char(1)和varchar(1)均能存放乙個漢字(或乙個英文本元)

在超出長度時,自動做截斷處理,並不報錯

5、檢測mysql中欄位內容實際位元組(byte)長度,使用length(如下),

select length( `subject` ) from t_deal_details;

如果想檢測字元長度,則應該使用char_length

這些細節在處理api介面時很關鍵,尤其是兩個系統如果對某欄位位元組長度的定義上存在字符集不一致的情況。

具體:

MySQL字串和編碼

1 utf 8和utf8有區別,在mysql query中使用utf 8可能會導致phpmyadmin顯示亂碼 2 utf8 general ci和utf8 unicode ci有區別,前者效率更高,但後者比較規則更完備,一般使用前者 3 在php中utf 8中文字元長度為3個字元,gbk長度為2個...

字串和編碼

編碼 ascii unicode utf 8 ascii編碼和unicode編碼的區別 ascii編碼是1個位元組,而unicode編碼通常是2個位元組。utf 8編碼把乙個unicode字元根據不同的數字大小編碼成1 6個位元組,常用的英文本母被編碼成1個位元組,漢字通常是3個位元組,只有很生僻的...

字串編碼和解碼

計算機底層通過二進位制儲存資料,字串的儲存和展示有這樣的關係 字串 字元 二進位制儲存 在傳統的編碼方式中,如 ascii iso 8859 1,是直接將字元與二進位制數進行了對映,形成乙個字元表。這樣,儲存字串時,查詢字元表,把其中每個字元都用對應的二進位制數進行表示。當展示資料時,同樣查詢字元表...