2009-08-03 1 views

ответ

6

Найдено, что следующая функция работает:

function utf8_urldecode($str) { 

    $str = str_replace("\\00", "%u00", $str); 

    $str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str)); 

    return html_entity_decode($str,null,'UTF-8'); 

} 

Некоторые части из http://us2.php.net/manual/en/function.urldecode.php

+0

** Внимание: ** Эта функция преобразует недопустимые кодовых. – hakre

0

Попробуйте это:

function masked_utf16_to_utf8($str) { 
    $str = preg_replace_callback('/\\\\([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})/', create_function('$match', 'return mb_convert_encoding(chr(hexdec("$match[1]")).chr(hexdec("$match[2]")), "UTF-8", "UTF-16");'); 
    return $str; 
} 
+0

это не работает для меня вообще – Maarten

 Смежные вопросы

  • Нет связанных вопросов^_^