在mysql中,如果是latin1字符集下,一個中文漢字占2個字節數;如果是utf8字符集下,一個中文漢字占3個字節數;如果是gbk字符集下,一個中文漢字占2個字節數。
mysql各字符集下漢字和字母占字節數
varchar(N), 這里的N是指字符數,並不是字節數.占用的字節數與編碼有關
在mysql 5.1.5-alpha下測試得出如下結論
latin1:
1character=1byte, 1漢字=2character,
也就是說一個字段定義成 varchar(200),則它可以存儲100個漢字或者200個字母。
這一點要注意,尤其是當字段內容是字母和漢字組成時,盡量假設字段內容都是由漢字組成,據此來設置字段長度
utf8:
1character=3bytes, 1漢字=1character
也就是說一個字段定義成 varchar(200),則它可以存儲200個漢字或者200個字母。
gbk:
1character=2bytes,1漢字=1character
也就是說一個字段定義成 varchar(200),則它可以存儲200個漢字或者200個字母。
也查閱了一下網上的答案:
也就是version4之前,按字節;
version5之后,按字符。