У меня есть html-файлы, созданные на том же сервере. Мне нужно прочитать содержимое html-файла как текст, и для этого я использовал функцию file_get_contents(). Когда я это сделал, он возвращал поврежденный текст, похожий на символы, которые мы видим с проблемой кодирования. Когда я открывал html-файл в текстовом редакторе, все было нормально с регулярными символами. У меня есть linkedhttps://www.dropbox.com/s/y2iya9epd73c0r1/9663testme.docx.html?dl=0 тестовый HTML-файл, который file_get_contents не удается прочитать/показать правильно.php file_get_contents проблема с отображением поврежденного текста
Я использовал следующую функцию для преобразования прочитанного содержимого в UTF-8, но все же иногда он дает поврежденный текст, хотя есть определенный прогресс.
function file_get_contents_utf8($fn) {
$content = file_get_contents($fn);
return mb_convert_encoding($content, 'UTF-8',
mb_detect_encoding($content, 'UTF-8, ISO-8859-1', true));
}
Я признателен, если кто-то может вести меня, чтобы найти решение, чтобы решить эту проблему с file_get_contents или любым другим альтернативным решением.
спасибо.
Проблема будет, потому что ваш HAVE для кодирования и декодирования файла с тем же типом. Например, если вы создаете файл в ASCII и пытаетесь преобразовать его в UTF-8, он скорее всего не даст вам хороших символов. Попробуйте создать новый файл и посмотреть, работает ли это. – Twister1002
Спасибо @ Twister1002 за ваш быстрый ответ. На самом деле эти HTML-файлы создаются с использованием phpword, исходные файлы слов могут быть с любой кодировкой. Созданные HTML-файлы содержат UTF-8 в мета. Когда я открываю HTML-файл в редакторе FTP, я могу использовать фактический контент. Но его отличие при чтении с file_get_contents – GUIR
Эх, это была моя проблема, когда я с этим справлялся, поэтому я решил, что скажу это. – Twister1002