Недавно я перенес свое веб-приложение с моего локального хоста (LH) на VPS, и с тех пор у меня были проблемы с кодированием символов иврита. Всякий раз, когда я отправляю запрос с символом heb-char, это приводит к "?????" сохранены в БД.
Моя конфигурация LH была tomcat6, MySQL и CentOS 6.2, открытая для Интернета. В VPS env я использую веб-сервер Apache, а в остальном все то же самое (хотя я ничего не делал с его установкой). Обратите внимание: у меня уже была эта проблема раньше, на моем LH, когда запрос был отправлен из IE / chrome (не FF!). Решением было применить фильтр к контексту и изменить тип символа на UTF-8.
Код моего содержимого webapp char-encode - utf-8, сервер MySql установлен на utf8, используя charset utf8;, и мой CentOS установлен на iw_IL.UTF8, используя экспорт LANG = iw_IL.UTF8. Когда я использую локаль вывод bash кажется установленным правильно.
Какие-либо предложения?
Убедитесь, что в my.cnf и php.ini все соединения закодированы с помощью utf8
my.cnf
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
[client]
default-character-set=utf8
php.ini
default_charset = "utf-8"
просто оставьте пустым default_charset в WHM :::::: default_charset = ''
p.s. В WHM go --------) Главная »Конфигурация службы» Редактор конфигурации PHP ----) нажмите «Расширенный режим» ----) найдите «default_charset» и оставьте поле пустым - просто ничего, не utf8, не ISO