Кодировка символов в PHP - PullRequest
       3

Кодировка символов в PHP

3 голосов
/ 03 сентября 2011

У меня никогда не было этой проблемы раньше, обычно это была моя база данных или html-страница. Но теперь я думаю, что это мой php. Я импортирую текст из CSV или из текстовой области, и в обоих случаях он идет не так.

например, é изменяется на Ã ©. Я использовал htmlentities, чтобы исправить это, но это не сработало. Функция htmlentities возвращала не в html, а в html-сущностях, поэтому она теряет реальные символы до того, как htmlentities приходит на место ... Значит ли это, что мой php-файл имеет неправильную кодировку или что-то в этом роде?

Я надеюсь, что кто-то может мне помочь ..

Спасибо! Chris

Ответы [ 3 ]

2 голосов
/ 03 сентября 2011

Файл обычно ISO-8859-1 (латинский) или UTF-8 ... ISO-8859-1 - 1 байт на символ, UTF-8 - 1-4 байта на символ. Таким образом, если вы получаете 2 символа, когда ожидаете одного, тогда вы читаете UTF-8 и показывает его как ISO-8859-1 ... если вы получаете странные символы, то вы читаете ISO-8859-1 и показывает его как UTF -8.

Если вы предоставите более подробную информацию, это будет легче точно определить, но вкратце, у вас есть несовместимые кодировки и вам необходимо преобразовать одну или другую, чтобы они все были одинаковыми. Но, судя по всему, вы используете ISO-8859-1 в своем проекте, но вы читаете некоторый UTF-8 откуда-то ... используйте utf8_decode ($ text), если эти данные действительно должны храниться как UTF-8 или найдите данные и конвертируйте их вручную.

РЕДАКТИРОВАТЬ: Если вы где-то используете AJAX, то вы ВСЕГДА получите от него UTF-8, и вам придется самостоятельно декодировать его с помощью utf8_decode (), если вы хотите продолжать использовать ISO-8859-1.

1 голос
/ 03 сентября 2011

Попробуйте открыть свой php-файл и измените кодировку на UTF-8

, если это не поможет, добавьте это в свой php:

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

Или вот в свой html:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
0 голосов
/ 03 сентября 2011

Взгляните на iconv PHP () .

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