Как проверить кодировку файлов в Linux? Обработка многоязычных скриптов - PullRequest
4 голосов
/ 01 марта 2010

В моей компании есть php-скрипты с текстами на разных языках (включая французский, немецкий, испанский, итальянский и английский).

Разработчики решили использовать кодировку Latin-1 в качестве основы для всех, так что никто не сможет переопределить кодировку файлов и испортить в ней иностранные языки. (Сначала некоторые разработчики использовали html-сущности, но этот способ не является предпочтительным)

У меня есть к вам несколько вопросов:

  1. Как проверить кодировку файлов в linux?
  2. Если у вас был опыт работы с файлами на разных языках, как вам удалось не переопределить кодировку других?

Спасибо за любой совет заранее

Ответы [ 4 ]

6 голосов
/ 01 марта 2010

file предоставляет вам информацию о файле, включая набор символов, языки и т. Д., В зависимости от типа файла.

Используйте - кодирование пантомимы , чтобы получить только ту информацию, которую вы хотите.

5 голосов
/ 01 марта 2010

Разработчики решили использовать кодировку Latin-1 в качестве основы для всех, так что никто не сможет переопределить кодировку файлов и испортить в ней иностранные языки.

Latin-1 не поддерживает большинство языков. Ароматы Unicode (обычно UTF-8) являются предпочтительными.

Как проверить кодировку файлов в linux?

С помощью утилиты file. Впрочем, он может только догадываться.

Если у вас был опыт работы с файлами на разных языках, как вам удалось не переопределить кодировку других?

Правильно настроенные редакторы.

1 голос
/ 01 марта 2010

1. Я использовал iconv для преобразования назад и вперед, но так как вы не знаете кодировку, попробуйте сначала enca (Extremely Naive Charset Analyzer). Но в целом очень трудно понять это правильно, так как это требует знания общих слов и т. Д.

2. Единственный разумный подход - использовать для этого более крупную кодировку, такую ​​как Юникод. Вы можете применить это, добавив хук предварительной проверки в вашу систему контроля версий, которая разрешает только правильно отформатированные файлы utf-8 (например).

0 голосов
/ 01 марта 2010

Не существует надежного способа проверки кодировки файла; различные 8-битные однобайтовые кодировки практически не различимы без проверки. Повсеместное использование UTF-8 означает, что у всех есть одна универсальная кодировка для работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...