После перехода на линукс я получил очень неприятную штуку: любые редакторы открывают все скрипты не в той кодировке, в которой они написаны, а в UTF-8(локаль по умолчанию).

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

Но проблема была довольно тяжкой:  исходников за время виндовой жизни накопилось оочень много..

Несколько часов гугла практически ничего не дали, в итоге пришлось конструировать что-то своё(только вот баш я пока знаю плохо..)

Вот что получилось:

  1. #!/bin/bash
  2.  
  3. find . -name "*.php" -exec recode CP1251/..UTF-8 {} \;
  4. find . -name "*.css" -exec recode CP1251/..UTF-8 {} \;
  5. find . -name "*.php" -exec chmod 644 {} \;
  6. find . -name "*.css" -exec chmod 644 {} \;

Для работы скрипта нужен пакет recode, в Debian всё просто - aptitude install recode ;)

Запускать нужно из терминала, перейдя в нужный каталог, а то скрипт перекодирует все файлы в домашнем каталоге юзера ))) Опасная штука в общем ) Не знаю как сделать, чтобы он только в текущей перекодировал..может кто подскажет ?)