Как установить кодировку UTF-8 для файла PHP
У меня есть PHP-скрипт под названием:
Http://cyber-flick.com/apiMorpho.php?method=getMorphoData&word=kot
, который отображает некоторые данные в виде простого текста:
Cz��� mowy: rzeczownik
Przypadek: dope�niacz
Rodzaj: şe�ski
Liczba: mnoga
Как вы можете видеть, вместо правильных символов есть такие "кусты". Что я хотел бы сделать, так это отобразить это таким образом, чтобы люди видели в браузере правильные символы UTF-8.
Вы можете инкапсулировать его в теги HMTL и установить в кодировке meta UTF-8, но поскольку данные, полученные из этого скрипт будет обработан в дальнейшем Я не хочу использовать какие-либо HTML-теги, это должен быть только обычный текстовый результирующий набор.
Итак, есть ли способ сообщить браузеру, что этот файл является UTF-8, без использования мета-тегов?
ПС. Файл закодирован в UTF-8, и если я вручную изменю кодировку кодировки в своем браузере на UTF-8, он отобразится нормально, но я хочу, чтобы люди не требовали этого делать.
6 answers
header('Content-type: text/plain; charset=utf-8');
PHP по умолчанию всегда возвращает следующий заголовок: "Тип содержимого: текст/html" (обратите внимание, что кодировка отсутствует), поэтому вы должны использовать
<?php header('Content-type: text/plain; charset=utf-8'); ?>
Также обратите внимание, что установка заголовка на "text/plain"
приведет к тому, что все html и php (частично) будут печатать символы на экране как ТЕКСТ, а не как HTML. Поэтому имейте в виду, что при использовании текстового типа HTML может не анализироваться plain
.
Используя:
header('Content-type: text/html; charset=utf-8');
Также может возвращать HTML и PHP. Не просто текст.
Попробуйте этот способ header('Content-Type: text/plain; charset=utf-8');
Вы должны указать, в какой кодировке находятся данные. Либо в мета, либо в заголовках
header('Content-Type: text/plain; charset=utf-8');
HTML-файл:
<head>
<meta charset="utf-8">
</head>
PHP-файл:
<?php header('Content-type: text/plain; charset=utf-8'); ?>