UTF-8 в кодовые точки Unicode

Есть ли функция, которая изменит UTF-8 на Unicode, оставив неспециальные символы как обычные буквы и цифры?

, т.е. немецкое слово «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

6
задан Adrien Hingert 18 August 2011 в 13:51
поделиться