Содержимое файла отображается неправильно на веб-странице. Как я могу преобразовать его в правильную кодировку? - PullRequest
0 голосов
/ 11 октября 2019

Я получил текстовый файл с некоторым содержанием. Создатель сказал мне, что это в UTF-8. Позже я хочу показать контент на веб-странице, которая использует charset=utf-8, но кажется, что контент закодирован с другой кодировкой.

В текстовом файле и на веб-странице это выглядит так (1):

enter image description here

Но это должно выглядеть так (2):

• more time. Drive with Sozius…%4

Когда я делаю следующие шаги, я могу показать содержимое в правильном формате:

  • Использование следующего php-кода для содержимого iconv('UTF-8', 'ISO-8859-1', $txt)
  • Изменить кодировку веб-страницы на charset=ISO-8859-1"

Теперь содержимое файла отображается как пример (2) на веб-странице. Но я не могу изменить кодировку веб-страницы. Есть ли способ преобразовать строку в php, чтобы она отображалась прямо на веб-странице в кодировке UTF-8?

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

На странице PHP вставьте этот заголовок , прежде чем какой-либо вывод будет отправлен клиенту :

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

И в HTML этой веб-страницы вставьтеэто мета тег:

<head>
  <meta charset="UTF-8">
</head>
0 голосов
/ 11 октября 2019

Вы пытались использовать mb_detect_encoding?

Вы можете сделать что-то вроде:

$encoding = mb_detect_encoding($string);
if ('UTF-8' !== $encoding) {
  $convertedString = iconv($encoding, 'UTF-8', $string);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...