我正在写一个基本的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