Ho il seguente output di strace e voglio convertirlo in UTF-8 usando PHP:
R\00f6dhakev\00e4gen 4 R\00e4ntm\00e4starv\00e4gen 24 K\00d8BENHAVN
Le stringhe di cui sopra sono UTEX 16 HEX che penso.
Trovato che la seguente function funziona:
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'); }
Alcune parti da http://us2.php.net/manual/en/function.urldecode.php
Prova questo:
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; }