Кодировка символов веб-сервера Apache
Я недавно перенес свое веб-приложение с моего локального хоста (LH) на VPS, и с тех пор у меня были пробники, кодирующие иврит. Всякий раз, когда я отправляю запрос с heb-char, это приводит к "?????" сохранено в БД.
Моя конфигурация LH была tomcat6, MySQL и centOS 6.2, открытые для Интернета. В среде VPS я нахожусь за веб-сервером Apache, а все остальное - то же самое (хотя я ничего не сделал для его установки). Обратите внимание, что у меня уже была эта проблема на моем LH, когда запрос был отправлен из IE/chrome (не FF!). Решением было применить фильтр к контексту и изменить тип символа на UTF-8.
Содержимое моего веб-приложения char-encode - utf-8, сервер MySql настроен на utf8 с использованием charset utf8; и мой centOS установлен на iw_IL.UTF8 с использованием экспорта LANG = iw_IL.UTF8. Когда я использую локаль, вывод bash, кажется, установлен правильно.
Какие-либо предложения?
2 ответа
Убедитесь, что в 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 = ''
ps В WHM перейдите --------) Главная "Настройка сервиса" Редактор конфигурации PHP ----) нажмите "Расширенный режим" ----) найдите "default_charset" и оставьте это поле пустым ---- просто ничего, не utf8, не ISO