2015-09-10 3 views
3

Я использую slim framework, и недавно мой журнал показывает, что я получаю много запросов uri, которые не кодируются как utf-8. текст ожидается на иврите, но значение декодируется до какой-то тарабарщины.преодолеть кодировку un utf8 url

, например, я нашел следующий недостающий URI в журнале: /product/%c3%97%c2%a0%c3%97%e2%80%a2%c3%97%c2%a8%c3%97%e2%80%9d_%c3%97%c5%93%c3%97%c5%be%c3%97%c2%a7%c3%97%c2%a8%c3%97%c2%a8_120V_40W

, который декодируется в /product/נורה_למקרר_120V_40W в то время как я ожидал /product/נורה_למקרר_120V_40W

Я не уверен, кто запрашивает этот URI, так Я не мог получить нитратный реферер или пользовательский агент. Однако я могу добавить в журнал больше переменных, если это необходимо, просто не мог думать о чем-то информативном в этом случае.

Спасибо, Меир

+0

Я нашел этот сайт: [ссылка] (http://2cyr.com/decode/?lang=en) , который помог мне выяснить, это кодировка «Windows-1254». Я попытался использовать '$ name = iconv (" windows-1254 "," UTF-8 // IGNORE ", $ name)' и 'mb_convert_encoding ($ name, 'UTF-8', 'Windows-1254')' , но она по-прежнему тарабарщина – meirlo

+0

Update 2: Использование 'mb_convert_encoding ($ имя, 'Windows-1254', 'UTF-8')' Я сейчас получаю 'נורה_ל קרר_120 V_40W' , который немного похож на? ожидаемый текст, но все же чего-то не хватает. Любые идеи? – meirlo

ответ

0

Это сработало: $name = mb_convert_encoding($name, 'Windows-1252','UTF-8');