Как отображать японские символы на странице php?

Я пытаюсь отобразить японские символы на странице PHP. Никакая загрузка из базы данных, просто хранимая в языковом файле и не повторяющаяся.

У меня запутался странный сценарий. Я правильно настроил страницу с UTF-8, и я тестирую образец страницы на своем локальном сервере WAMP, и он работает.

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

Это заставляет меня думать, что это настройка в php.ini. Но я не нашел много информации об этом, поэтому я не уверен, что это проблема.

Есть ли что-то фундаментальное, что мне не хватает?

благодаря

    Поскольку вы заявили, что он работает в вашей среде разработки, а не в вашей жизни, вы можете проверить ApAd 's AddDefaultCharset и установить его в UTF-8, если его еще нет.

    Я стараюсь, чтобы следующие шаги были проверены

    1. Заголовок PHP отправлен в UTF-8
    2. Метатег установлен в UTF-8 (Content-Type)
    3. Хранение установлено на UTF-8
    4. Выход сервера установлен в 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"