假設在PHP中使用UTF-8編碼和strlen(),該字符串的長度是否可能爲4?strlen()和UTF-8編碼
我只是有興趣瞭解的strlen(),而不是其他功能
這是字符串:$1�2
我測試我自己的電腦上,我已經驗證UTF -8編碼,我得到的答案是6.
我沒有在手冊中看到strlen或任何我在UTF-8上讀過的東西,這可以解釋爲什麼上面的一些字符會算少不止一個。
PS:這個問題和答案(4)來自我在Ebay上購買的ZCE的模擬測試。
PPS:請把我的骨頭投給我。我做了我的功課。預先感謝所有回覆和投票。
'strlen'計數字節,而不是字符 – Esailija
當使用'strlen'時,UTF-8字符是多字節字符,並且計爲字節長度爲as-many-characters-as-many-in-bytes。使用http://php.net/manual/en/function.mb-strlen.php獲得預期結果。 –
@RemcoOverdijk utf-8編碼的字符可以是1-6個字節長。 – Esailija