меня просто сбили после того, как наш сервер был обновлен с Debian 4 до 5. Мы перешли на среду UTF-8, и теперь у нас есть проблемы с правильной печать текста в браузере, потому что все файлы находятся в кодировках без utf8, таких как iso-8859-1, ascii и т.д.
Я пробовал много разных скриптов.
Первый, который я пробовал, - "iconv". Этот файл не работает, он изменяет содержимое, но файлы, находящиеся в нем, по-прежнему не являются utf8.
Такая же проблема с enca, encamv, convmv и некоторыми другими инструментами, которые я установил через apt-get.
Затем я нашел код python, который использует модуль универсального детектора Chardet для обнаружения кодировки файла (который отлично работает), но с использованием класса unicode или класса кодека, чтобы сохранить его, поскольку utf-8 не работает, без каких-либо ошибки.
Единственный способ найти файл и его содержимое, преобразованные в UTF-8, - это vi.
Это шаги, которые я делаю для одного файла:
vi filename.php
:set bomb
:set fileencoding=utf-8
:wq
Вот оно. Это работает отлично. Но как это сделать через script. Я хотел бы написать script (linux shell), который перемещается по каталогу, берущему все php файлы, а затем преобразовывая их с помощью vi с приведенными выше командами. Поскольку мне нужно запустить приложение vi, я не знаю, как это сделать:
"vi --run-command=':set bomb, :set fileencoding=utf-8' filename.php"
Надеюсь, кто-то может мне помочь.