Я пытаюсь отобразить японские символы на странице PHP. Никакая загрузка из базы данных, просто хранимая в языковом файле и не повторяющаяся.
У меня запутался странный сценарий. Я правильно настроил страницу с UTF-8, и я тестирую образец страницы на своем локальном сервере WAMP, и он работает.
В тот момент, когда я тестировал наши серверы разработки и производства, символы не отображаются должным образом.
Это заставляет меня думать, что это настройка в php.ini. Но я не нашел много информации об этом, поэтому я не уверен, что это проблема.
Есть ли что-то фундаментальное, что мне не хватает?
благодаря
Поскольку вы заявили, что он работает в вашей среде разработки, а не в вашей жизни, вы можете проверить ApAd 's AddDefaultCharset и установить его в UTF-8, если его еще нет.
Я стараюсь, чтобы следующие шаги были проверены
Кажется, это работает для меня. Надеюсь это поможет.
Вы должны предоставить документы с надлежащим объявлением кодирования в поле заголовка HTTP Content-Type
.
В PHP вы делаете это с помощью функции header
до того, как первые данные будут отправлены клиенту, поэтому желательно как одно из первых утверждений:
<?php header('Content-Type: text/html;charset=utf-8'); // the rest
Во-первых, я предполагаю, что для обоих тестов используется одна и та же клиентская машина.
Таким образом, используйте Firebug или ваш инструмент для выбора заголовков ответов HTTP на вашем локальном сервере и сравните их с заголовками, сгенерированными другими серверами. Вы, несомненно, найдете разницу.
Обычно ваш сервер должен включать заголовок, подобный этому в ответ:
Content-Type: text/html; charset=UTF-8
Если заголовки на двух системах выглядят почти одинаково, возьмите тело обоих ответов и загрузите его в шестнадцатеричном редакторе и найдите различия в кодировке.
Попробуйте следующее (работал для меня, CentOS 6.8, PHP 5.6)
# 1
Конфигурация Apache
/etc/httpd/conf/httpd.conf
AddDefaultCharset UTF-8
# 2
Конфигурация PHP
/etc/php.ini:
default_charset = "utf-8" >> default_charset = "Shift_JIS"
Примечание: установите error_reporting = E_ALL & ~ E_DEPRECATED & ~ E_STRICT
# 3
html head meta
http-equiv = "content-type" content = "text / html; charset = Shift_JIS"