PHP: преобразование скандинавских символов в шестнадцатеричный Unicode
Я работаю над сайтом Joomla с Fabrik, и проблема в том, что Fabrik сериализует некоторые данные с помощью json_encode(), но не учитывает возможности и т. Д. Теперь, когда выполняется поиск в базе данных, он пытается найти что-то с помощью åäö, но ничего не находит, потому что
все \u00e4 и \u00f6
и так далее.
Я не особо за копаюсь в коде Fabrik и вставляю где-нибудь один флаг, и беспокоюсь о его случайной перезаписи при обновлении Fabrik. Поэтому я решил, что, так как я в любом случае разочарован в Fabrik, я мог бы просто написать его полностью в специальном шаблоне. Легко.
Проблема в том, что я не могу найти способ или функцию, такую как htmlentities(), которой я могу просто кормить материал, чтобы он соответствовал. Я мог бы просто заменить их персонажем, но это не очень хорошее решение.
Перефразируя: я хочу превратить слово Mörkö в -> M\u00f6rk\u00f6. Как?
1 ответ
Может быть, есть другой способ, но он работает как исключение:
$encoded = substr(json_encode('Mörkö'), 1, -1);
json_encode('Mörkö')
=> "M \ u00f6rk \ u00f6"
substr()
=> M \ u00f6rk \ u00f6