метод опции обновления с поддержкой utf8


Я использую плагин, который обновляет таблицу параметров с помощью команды update_option. Когда я обновляю контент с помощью символов иврита, он превращается в гибриш. Моя база данных поддерживает иврит (или любые другие символы utf8). Есть ли какой-нибудь обходной путь?

Спасибо вам!

 2
Author: vondip, 2010-11-05

3 answers

Скорее всего, заголовок типа содержимого/кодировки не отправляется, и в итоге вы читаете символы utf8, как если бы они были латинскими-1.

Также обратите внимание, что сериализация()/несериализация() не безопасны для многобайтовых символов. Для подмножества символов длина строки, возвращаемая serialize(), иногда будет отличаться от ожидаемой длины, как это было бы возвращено mb_strlen(). Это приводит ко всевозможным трудным для отладки несериализуемым проблемам, которые, начиная с WP 2.8, WP пытается отказаться, чтобы избежать сбоев сайтов.

 4
Author: Denis de Bernardy, 2010-11-05 10:58:39

Насколько я знаю, WordPress прекрасно поддерживает UTF8.

Этот тестовый код (надеюсь, я правильно понял строку, скопированный из Википедии) отлично работает для меня:

$hebrew = 'עִבְרִית';
update_option('hebrew',$hebrew);
var_dump(get_option('hebrew'));

Ваша проблема, вероятно, вызвана какой-то другой обработкой, выполняемой плагином для строки.

 2
Author: Rarst, 2010-11-05 10:58:48

Преобразуйте кодировку вашего файла в UTF-8 без спецификации.

 0
Author: Deviant, 2012-03-15 10:02:13