2009-07-12 2 views
1

Символы, такие как «š» при отправке в POST-параметре и echo'd выходят как %u015F - теперь я знаю это шестнадцатеричное значение символа юникода html, то есть ş но как я могу их конвертировать?% u проблема в PHP

У меня есть наборы символов, установленные в UTF-8, и я экспериментировал с наборами символов ISO без везения.

Спасибо!

+0

Просто, чтобы быть ясным, я хочу, чтобы выход был & # 3 5 3; - вышеупомянутый вопрос был преобразован в символ ş – Sledge

ответ

0

Я никогда не видел, что клиент будет отправлять %u015F вместо UTF-8 закодированной %C5%9F. Но попробуйте это:

preg_replace('/%u([0-9a-fA-F]{2})([0-9a-fA-F]{2})/e', 'mb_convert_encoding("\x$1\x$2", \'UTF-8\', \'UTF-16BE\')', $str)