2012-11-24 62 views
1

我有一個數據類型爲VARCHAR(5)的utf編碼的mysql字段。如果我理解正確,字段值最多可以包含5個字符,並且由於我使用的是utf-8編碼,因此最多爲20 + 1個字節。如何確定VARCHAR字段值中的字節數量?

有什麼方法可以確定字段值佔用多少空間?

例如我希望以下佔用超過5個字節

رروحي 

但對於這個佔用整整5個字節

hello 

而這需花費了超過5個字節

分別以後才 
+0

沒關係。無論字符需要多少字節,「VARCHAR(5)」字段最多可以包含五個字符。 – duskwuff

+2

@duskwuff,但OP要*知道*需要多少,如果我理解正確,不要確定它是否合適。 –

回答

3

IIRC,mysql有lengthchar_length函數,所以選擇一個你需要的。顯然,一個應該以字節返回長度,另一個以字符爲單位。

如果你想在它到達服務器端之前找到它,你需要提及你使用的編程語言。

+0

我認爲這不夠。例如,拉丁文你好,我們知道它是由眼睛計數的5個字符長度,但你知道如何告訴هلا長度?它似乎是3但是誰知道? – SaidbakR

+3

嘗試'選擇長度('هلا'),char_length('هلا');' –

相關問題