LINUX.ORG.RU

Перекодировать файлы из неправильной кодировки

 


0

1

На дальней полке лежали несколько php проектов и библиотек. А сейчас вот вдруг понадобились. Проблема в том, что там у меня были очень важные комментарии обширные на русском языке в некоторых местах. Пробовал открыть в нескольких редакторах разных с разными кодировками, всё равно вместо русских букв получаю иероглифы, либо квадраты.
Я конечно утилиту Stirlitz поставить под вайн и вручную всё сделать, но хотелось бы пакетно перевести все файлы (включая подпапки) по маске раширение файла *.php.

★★★★★

Ответ на: комментарий от fehhner

Не знаю, как в арче, а в федоре/центоси соответствующий пакет называется enca.

dexpl ★★★★★
()
Ответ на: комментарий от fehhner

Пакет может зваться enca

А накостылять что-то вроде find . -iname '*.php' -print | while read file; do mv "${file}" ${file}.orig; enconv -x UTF-8 ${file}.orig >${file}; done просто)

Kuzz ★★★
()
Ответ на: комментарий от Kuzz

Сколь я помню (не ручаюсь!), enconv умеет изменять файлы непосредственно. Т. о., find . -iname '*.php' -exec enconv -x UTF-8 '{}' + достаточно.

dexpl ★★★★★
()

Kuzz, dexpl
Воу, язык ещё -L russian указал и всё восстановилось. Всем большое спасибо!

fehhner ★★★★★
() автор топика
Последнее исправление: fehhner (всего исправлений: 1)
Ответ на: комментарий от Kuzz

У меня enca тупила только в особо сложных случаях - когда в одном (!) файле наследили несколько программистов, оставивших комментарии в разных кодировках. Но тут и так понятно, что медицина бессильна.

А с задачей «Перевести в utf8 90 файлов на C++, из которых 50 в cp1251, а 40 в koi8-r, причём заранее неизвестно, какие именно» enca справилась блестяще.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Не, это мои личные)
Кодировки если разные - то только в разных файлах могут быть, я же не настолько тупой если отображается неправильно, что-то ещё туда писать))
У меня тоже отлично справилась!

fehhner ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.