Символы, такие как «š» при отправке в параметре POST и echo, будут выглядеть как %u015F - теперь я знаю, что это шестнадцатеричное значение символа html unicode - то есть ş но как мне преобразовать их?
%u015F
ş
У меня есть наборы символов UTF-8, и я безуспешно экспериментировал с наборами символов ISO.
Спасибо!
htmlentities(urldecode($string))
Я никогда не видел, чтобы клиент отправлял %u015F вместо %C5%9F в кодировке 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)