有没有一种函数可以将UTF-8转换为Unicode,使非特殊字符保持正常字母和数字的形式?
例如,德语单词“tchüß”将被渲染为类似于“tch\20AC\21AC”的东西(请注意,我是在编造Unicode代码)。
编辑:我正在尝试以下函数,但尽管这个函数对ASCII 32-127有效,但它似乎无法处理双字节字符:
例如,德语单词“tchüß”将被渲染为类似于“tch\20AC\21AC”的东西(请注意,我是在编造Unicode代码)。
编辑:我正在尝试以下函数,但尽管这个函数对ASCII 32-127有效,但它似乎无法处理双字节字符:
function strToHex ($string)
{
$hex = '';
for ($i = 0; $i < mb_strlen ($string, "utf-8"); $i++)
{
$id = ord (mb_substr ($string, $i, 1, "utf-8"));
$hex .= ($id <= 128) ? mb_substr ($string, $i, 1, "utf-8") : "&#" . $id . ";";
}
return ($hex);
}
你有什么想法吗?
编辑2:找到解决方案:PHP中的ord()函数不能处理双字节字符。改为使用:http://nl.php.net/manual/en/function.ord.php#78032