我正在寫一個基本的PHP函數,它接受一個輸入字符串,將一個「怪異」字符列表轉換爲URL友好字符。編寫函數不是問題,而是它如何用奇怪的字符來解釋字符串。PHP字符集問題
例如,現在我有這樣的問題:
$string = "år";
echo $string[0]; // Output: �
echo $string[1]; // Output: �
echo $string[0] . $string[1]; // Output: å
echo $string[2]; // Output: r
所以基本上它解釋這會導致問題對我來說是字母「A」爲兩個字符。因爲我希望能夠單獨查看字符串的每個字符並在需要時替換它。
我使用UTF8編碼所有內容,我知道我的問題必須使用UTF8將奇怪字符視爲兩個字符,如上所述。
但是我該如何解決這個問題?基本上我想實現這一點:
$string = "år";
echo $string[0]; // Output: å
echo $string[1]; // Output: r
爲什麼不使用mb_substr()? – Endijs 2012-03-21 17:38:43
Chekc出http://php.net/manual/en/function.mb-substr.php – 2012-03-21 17:39:12
@Pekka我誤解了問題 – safarov 2012-03-21 17:40:13