Я хочу исправить проблемы с кодировкой PHP в PHPLIST для иностранных шрифтов SHIFT-JIS и UTF-8

У меня на сервере есть PHPLIST, который забит кодировкой японских шрифтов.

Я установил пакет иностранных языков, но по-прежнему не могу кодировать SHIFT-JIS и UTF-8.

Как исправить кодировку PHP в файлах со строками определения кодировки, чтобы исправить кодировку на каждой странице, которую делает PHP?

Думаю, проблема в скрипте программы, который не определяет кодировку для каждой страницы, т.к. коррекция кодировки версии для программы.


person john3825    schedule 20.04.2013    source источник


Ответы (1)


2 возможных источника проблем: сам скрипт PHP и база данных сзади (если есть).

Отправляя соответствующий заголовок до того, как любой контент был отправлен клиенту (проще говоря, заголовки должны быть отправлены в начале вашего кода, насколько это возможно), кодировка может быть «определена»

<?php header('Content-Type: text/html; charset=utf-8');?>

ИЗМЕНИТЬ!

Эсаилия прокомментировала и исправила (см. комментарии ниже) мой ответ, который не соответствует вашему вопросу. Как предложил Esailija, вам следует проверять кодировку передачи вместо самой кодировки хранения.

Мой первоначальный ответ хранится здесь как «зал позора».

Обратите внимание, что если вы используете СУБД, такую ​​как MySQL, кодировка в базе данных также должна быть установлена ​​правильно (utf8_general_ci рекомендуется, создайте полную резервную копию ваших данных, прежде чем применять какие-либо изменения к существующим данным, и сделайте это на сначала независимый тестовый сервер, так как изменение кодировки в вашей базе данных может привести к катастрофе).

person KH.Lee    schedule 20.04.2013
comment
в MySQL кодирование хранения не имеет отношения к кодированию передачи. Вы просто меняете кодировку хранилища, требуя резервной копии, и в конечном итоге столкнетесь с точно такой же проблемой, потому что кодировка передачи не была изменена. Что касается заголовка, то он ничего не определяет. Он не делает ваши данные utf-8, он просто утверждает, что ваши данные utf-8 и все. - person Esailija; 20.04.2013
comment
Спасибо за комментарии. Урок хорошо усвоен. Я обновлю свой ответ соответственно. - person KH.Lee; 20.04.2013
comment
Хорошо, я проверяю это в своей программе PHPLIST. На какие файлы нужно поставить META тег для кодировки? - person john3825; 20.04.2013
comment
Кажется, это можно настроить, вы пробовали это? forums.phplist.com/viewtopic.php?f=19&t=34666 - person KH.Lee; 20.04.2013