Преобразование проекта из ISO 8859-1 в UTF-8 - PullRequest
1 голос
/ 01 декабря 2009

Я закодировал проект php в соответствии с ISO 8859-1, и по некоторым техническим причинам я хочу закодировать проект в UTF-8. какой лучший способ сделать это? Я боюсь потерять специальные символы, такие как французские акценты и так далее. спасибо за совет.

Ответы [ 3 ]

1 голос
/ 01 декабря 2009

Вы должны попробовать использовать команду оболочки iconv для кодирования php-файлов с латиницы 1 (ISO-8859-1) в UTF-8.

После этого вы должны быть уверены, что PHP использует UTF-8 в качестве кодировки по умолчанию (переменная default_encoding в php.ini, если я правильно помню). Если нет, то вы можете установить его с помощью ini_set () для вашего проекта.

После этого вам следует преобразовать вашу базу данных в UTF-8 или использовать такое быстрое исправление (для MySQL):

mysql_query("SET NAMES 'utf8'");

Конечно, вы просто заменяете mysql_query () на любой фреймворк, который вы используете (если вы его используете). Поместите его в свой основной файл, который включает в себя все классы и прочее.

1 голос
/ 01 декабря 2009

Вот мой взгляд на ваш вопрос - вы хотите, чтобы сгенерированный HTML (через PHP) был совместимым с UTF-8? Помните, что стандарт HTML 4.x основан на iso-8859-1, и неясно, основан ли XHTML на utf-8 или iso-8859-1. Конечно, чистый XML это utf-8.

(1) Итак, первая часть головоломки заключается в выборе DOCTYPE для вашего визуализированного HTML.

(2) Убедитесь, что вы добавили метатеги языкового набора символов (charset=utf8) и т. Д.

(3) Возьмите обработанную строку PHP / HTML и отправьте ее через iconv либо через оболочку с помощью системного вызова, либо с помощью некоторого метода PHP API.

Полученный отрисованный HTML-код будет закодирован в формате utf-8. Клиентский браузер должен быть настроен на рендеринг HTML с помощью utf-8, а не западного латинского языка1. В противном случае вы получите странный неразрывный пробел в верхнем левом углу страницы.

1 голос
/ 01 декабря 2009

перекодировать все файлы с помощью iconv. измените все заголовки http или метатеги. прибыль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...