Автор Тема: Как определить кодировку  (Прочитано 5079 раз)

DJ_Baldey

  • Разработчик
  • Старожил
  • *****
  • Сообщений: 258
  • Карма: +137/-6
  • ~# service djbaldey reload
    • Просмотр профиля
    • «Ros'X»
Как определить кодировку
« : 14 Март 2010, 05:33:53 »
Зачастую пользователям любых операционных систем приходится сталкиваться с так называемыми "крякозябликами" - текстовыми сообщениями, состоящими из набора не читаемых символов.
Например:
  • РџСЂРёРІРμтик!
  • Ãäå íå íîæîì à äîáðîì ïðàâäà âåðøèòñÿ?
  • Ќ ¦¬ЁвҐ [Tab] ¤«п । ЄвЁа®ў Ёп ®ЇжЁ©

Сразу скажу, что 100-процентно в автоматическом режиме определить кодировку некоего сообщения нельзя. Но в unix-системах есть инструменты, позволяющие сделать это хоть и в ручную, но с максимальной эффективностью.

Одними из таких инструментов являются iconv и enca, их синтаксис приведён ниже:
iconv -f cp866 -t utf8 имя.файла -o новое.имя.файла # для обычных досовских файлов с русскими буквами
iconv -f cp1251 -t utf8 имя.файла -o новое.имя.файла # для обычных Windows файлов с русскими буквами
echo "сообщение" | enca # подсказка по возможной кодировке сообщения
echo "сообщение" | enconv # автоматическая перекодировка сообщения


О том, как пользоваться ими смотрите в прикреплённом к этому сообщению файле.
Не столь важно что ты делаешь, важно как ты это делаешь! (Джимми Лансфорд, джазмен)