Я пытаюсь создать скрипт на PHP для преобразования некоторых файлов в UTF-8. У меня есть файл на греческом языке, где Notepad++ указывает, что это кодировка "ANSI". Когда я загружаю его на сервер, он определяет его кодировку как UTF-8 (я думаю, что-то не так). Затем, когда я конвертирую его содержимое в UTF-8 с помощью utf8_encode() и загружаю новый файл, символы перепутались. Я попытался удалить спецификацию с помощью PHP, и результат был таким же. Я попытался удалить спецификацию с помощью PHP без преобразования файла в UTF-8, но файл остался в кодировке ANSI без перепутанных символов. Как я могу это исправить?
PHP Ansi в UTF-8
Ответы (1)
Удалите спецификацию, затем выполните:
$file = file_get_contents('file.php');
$file = iconv('greek-charset','UTF-8', $file);
file_put_contents('file.php', $file);
//ta-da!
Измените greek-charset
на правильное имя набора символов (возможно, Windows-1253
).
person
OZ_
schedule
25.06.2011
где найти кодировку?
- person Paris; 26.06.2011
@Paris: Вы можете найти расширенный список доступных кодировок здесь: gnu.org/software/libiconv - конкретная установка может отличаться, однако этот список является хорошей ориентацией.
- person hakre; 29.01.2013
используйте CP1251 из 'greek-charset'
- person Mcile; 10.04.2017