Изменить кодировку браузера с помощью PHP? - PullRequest
1 голос
/ 21 декабря 2011

У меня есть программа, в которой у меня есть символы не ASCII, которые не отображаются должным образом на ISO-8859-1.Есть ли способ использовать PHP и каким-либо образом изменить кодировку браузера, а также позволить символам правильно отображаться в браузере, даже если кодировка соответствует ISO-8859-1?

Сильно оценена.

Ответы [ 4 ]

3 голосов
/ 21 декабря 2011

Используйте функцию header для отправки (явного) HTTP-заголовка ответа типа содержимого .

header('Content-Type: text/html; charset=ISO-8859-1');

… замена ISO-8859-1 любой кодировкой, которую вы фактически используете. Надеюсь, это будет UTF-8.

2 голосов
/ 21 декабря 2011

Сам браузер не имеет кодировки. Он поддерживает множество кодировок и использует ту, о которой вы говорите. Если вы указываете (в заголовках и / или HTML), что кодировка соответствует ISO-8859-1, то ваш документ должен быть в этой кодировке, и вы должны убедиться, что все отправляемые вами символы находятся в правильной кодировке. Таким образом, вы должны отправить ISO-8859-1 символы. Вы не можете отправить документ, который использует разные кодировки для разных разделов документа.

Для некоторых символов вы можете опубликовать HTML-объект. Например, é можно отправить как é. Это будет работать независимо от кодировки.

Если у вас есть выбор, я бы выбрал UTF-8. Он поддерживает любые символы, и вам не нужно беспокоиться о экранировании от диакритических знаков или других специальных символов, кроме тех, которые характерны для самого HTML / XML.

2 голосов
/ 21 декабря 2011

вы должны использовать функцию header

header( 'Content-Type: text/html; charset=ISO-8859-1');

Примечание: вы должны убедиться, что контент не был отправлен в браузер, или вы больше не можете изменять заголовки,поэтому я советую вам использовать этот код как можно скорее в вашем скрипте

1 голос
/ 21 декабря 2011

Как и другие, используя функцию header :

header('Content-type: text/html; charset=ISO-8859-1');

или, если вы хотите предоставить действительные XHTML файлы вместо стандартных HTML:

header('Content-type: application/xml+xhtml; charset=ISO-8859-1');

Возможно позже вызвать заголовок в сценарии, в отличие от того, что сказал RageZ , но вам нужно будет включить буферизацию вывода для этого, используя ob_start().

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