Как установить кодировку 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, он отобразится нормально, но я хочу, чтобы люди не требовали этого делать.

Author: Tomasz Smykowski, 2011-02-20

6 answers

header('Content-type: text/plain; charset=utf-8');
 89
Author: delphist, 2012-09-26 14:49:15

PHP по умолчанию всегда возвращает следующий заголовок: "Тип содержимого: текст/html" (обратите внимание, что кодировка отсутствует), поэтому вы должны использовать

<?php header('Content-type: text/plain; charset=utf-8'); ?>
 8
Author: Jan Dragsbaek, 2011-02-20 11:25:09

Также обратите внимание, что установка заголовка на "text/plain" приведет к тому, что все html и php (частично) будут печатать символы на экране как ТЕКСТ, а не как HTML. Поэтому имейте в виду, что при использовании текстового типа HTML может не анализироваться plain.

Используя:

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

Также может возвращать HTML и PHP. Не просто текст.

 8
Author: Larry Judd, 2015-11-22 03:31:27

Попробуйте этот способ header('Content-Type: text/plain; charset=utf-8');

 4
Author: Intrepidd, 2011-02-20 11:22:49

Вы должны указать, в какой кодировке находятся данные. Либо в мета, либо в заголовках

header('Content-Type: text/plain; charset=utf-8');
 3
Author: zerkms, 2011-02-20 11:31:04

HTML-файл:

<head>

<meta charset="utf-8">

</head>

PHP-файл:

<?php header('Content-type: text/plain; charset=utf-8'); ?>
 0
Author: Patrick-Peng, 2018-07-20 22:52:21