我有一個數據類型爲VARCHAR(5)的utf編碼的mysql字段。如果我理解正確,字段值最多可以包含5個字符,並且由於我使用的是utf-8編碼,因此最多爲20 + 1個字節。如何確定VARCHAR字段值中的字節數量?
有什麼方法可以確定字段值佔用多少空間?
例如我希望以下佔用超過5個字節
رروحي
但對於這個佔用整整5個字節
hello
而這需花費了超過5個字節
分別以後才
我有一個數據類型爲VARCHAR(5)的utf編碼的mysql字段。如果我理解正確,字段值最多可以包含5個字符,並且由於我使用的是utf-8編碼,因此最多爲20 + 1個字節。如何確定VARCHAR字段值中的字節數量?
有什麼方法可以確定字段值佔用多少空間?
例如我希望以下佔用超過5個字節
رروحي
但對於這個佔用整整5個字節
hello
而這需花費了超過5個字節
分別以後才
IIRC,mysql有length
和char_length
函數,所以選擇一個你需要的。顯然,一個應該以字節返回長度,另一個以字符爲單位。
如果你想在它到達服務器端之前找到它,你需要提及你使用的編程語言。
我認爲這不夠。例如,拉丁文你好,我們知道它是由眼睛計數的5個字符長度,但你知道如何告訴هلا長度?它似乎是3但是誰知道? – SaidbakR
嘗試'選擇長度('هلا'),char_length('هلا');' –
沒關係。無論字符需要多少字節,「VARCHAR(5)」字段最多可以包含五個字符。 – duskwuff
@duskwuff,但OP要*知道*需要多少,如果我理解正確,不要確定它是否合適。 –