本站內容為本人所有,禁止未經同意恣意未具名轉載或修改原作內容轉發!

2010年5月1日 星期六

[php]解決中文字串切割亂碼問題

剛剛無聊研究了一下Password Salt,

沒想到晃著晃著就晃到中文字串切割問題,

(這兩個應該沒什麼太大關係吧XD...)

看著看著就想到以前自己在實作時,

的確有碰到這個問題XD...

沒想到今天誤打誤撞就得到解決辦法~



以前寫法:


$content="A,會亂碼嘛?@.@不會了啦XD...";

echo substr($content,0,21).'<BR>';

輸出結果:A,會亂碼嘛?@.@不會了�


正確寫法:


$content="A,會亂碼嘛?@.@不會了啦XD...";

echo mb_substr($content,0,11,"UTF-8");


輸出結果:A,會亂碼嘛?@.@不

其實會亂碼的原因在於中文字是佔2byte,


而英文是一個字佔1byte

所以如果使用單純字串切割,


將有可能會出現亂碼的情況~

用mb_substr的話會將一個字當作一個單位,

且不會管是否是中文還是英文喔~

不過要注意的是,

要注意一下你的網站編碼哦~

如果弄錯了,

還是會有亂碼的情況發生哦 : )

沒有留言:
Write 意見