Intereting Posts
Php с NetBeans: применение нового PhpDoc без фактического объявления Не удалось получить обновленное значение textarea регулярное выражение для десятичных знаков Phalcon Router и Loader для создания структуры подпапок. Как настроить? Найдите и замените все между ним Проверка статуса приложения AppReceiptStoreURL 21002 Функция PHP: найти имя переменной аргумента и номер строки вызова функции Проверьте, является ли схема URL-адресом HTTP или HTTPS CURLOPT_POSTFIELDS имеет ограничение по длине или размеру? Как отобразить список лет, упорядоченный по столетию Преобразование .doc в html в php Загрузите файл, созданный в выходном буфере PHP, из вызова AJAX NetBeans неправильно сохраняет код (все в одной строке с квадратами, где должны быть разрывы строк) Каков наилучший подход для создания динамических запросов (с использованием PHP + MySQL)? Отслеживание впечатлений от баннеров – дизайн базы данных

Как преобразовать шестнадцатеричную строку UTF-16 в UTF-8 в PHP?

У меня есть следующий вывод из strace, и я хочу преобразовать его в UTF-8 с помощью PHP:

R\00f6dhakev\00e4gen 4 R\00e4ntm\00e4starv\00e4gen 24 K\00d8BENHAVN 

Вышеупомянутые строки – это UTF 16 HEX, я думаю.

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

 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

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

 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; }