我没有那么多控制远程服务器来安装扩展,php是5.3.8。 但我注意到有可能用pcre分割utf-8字符串。
例如:preg_split('@@u','bücher',-1,PREG_SPLIT_NO_EMPTY);
给出:Array ( [0] => b, [1] => ├╝, [2] => c, [3] => h, [4] => e, [5] => r )
或中文字词:中国/中华它提供:Array ( [0] => ńŞş, [1] => ňŤŻ, [2] => /, [3] => ńŞş, [4] => ňŹÄ )
(结果来自非unicode显示),但显然可以在没有国际扩展的情况下拆分utf-8
字符串,然后(我认为)应该可以获取字符代码并执行用它们计算来创建ascii url。
答案 0 :(得分:0)
您需要知道的唯一事情是用于发出双字节,三字节,四字节代码点信号的位掩码:
来自http://en.wikipedia.org/wiki/UTF-8
的表格Bits Last Code Point Octet 1 Octet 2 Octet 3 Octet 4
7 U+007F 0xxxxxxx -/- -/- -/-
11 U+07FF 110xxxxx 10xxxxxx -/- -/-
16 U+FFFF 1110xxxx 10xxxxxx 10xxxxxx -/-
21 U+10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
我不会说php,但我很确定现有代码可以使用显示的位掩码来扫描utf-8字符序列,而无需实际解释它