метод опции обновления с поддержкой utf8
Я использую плагин, который обновляет таблицу параметров с помощью команды update_option. Когда я обновляю контент с помощью символов иврита, он превращается в гибриш. Моя база данных поддерживает иврит (или любые другие символы utf8). Есть ли какой-нибудь обходной путь?
Спасибо вам!
3 answers
Скорее всего, заголовок типа содержимого/кодировки не отправляется, и в итоге вы читаете символы utf8, как если бы они были латинскими-1.
Также обратите внимание, что сериализация()/несериализация() не безопасны для многобайтовых символов. Для подмножества символов длина строки, возвращаемая serialize(), иногда будет отличаться от ожидаемой длины, как это было бы возвращено mb_strlen(). Это приводит ко всевозможным трудным для отладки несериализуемым проблемам, которые, начиная с WP 2.8, WP пытается отказаться, чтобы избежать сбоев сайтов.
Насколько я знаю, WordPress прекрасно поддерживает UTF8.
Этот тестовый код (надеюсь, я правильно понял строку, скопированный из Википедии) отлично работает для меня:
$hebrew = 'עִבְרִית';
update_option('hebrew',$hebrew);
var_dump(get_option('hebrew'));
Ваша проблема, вероятно, вызвана какой-то другой обработкой, выполняемой плагином для строки.
Преобразуйте кодировку вашего файла в UTF-8 без спецификации.