Изменение кодировки текста... =) (Как перегнать файл из cp1251 в UTF-8?)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
DialSoft
Сообщения: 322
Статус: Властитель безумных пингвинов
ОС: FreeBSD, CentOS, Slackware.

Изменение кодировки текста... =)

Сообщение DialSoft »

Народ! САБЖ! Чтото я не пойму как такое сделать... =) Во всех текстовых редакторах можно только кодировку отображения менять. А как ПЕРЕКОДИРОВАТЬ??
Буду оч благодарен за ответ.
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Изменение кодировки текста... =)

Сообщение elide »

cat file | iconv -fcp1251 -tutf8 > file1
слава роботам!
Спасибо сказали:
Аватара пользователя
DialSoft
Сообщения: 322
Статус: Властитель безумных пингвинов
ОС: FreeBSD, CentOS, Slackware.

Re: Изменение кодировки текста... =)

Сообщение DialSoft »

elide писал(а):
23.02.2007 16:13
cat file | iconv -fcp1251 -tutf8 > file1

Хммм... Тоесть смотри. Если надо файл russian.php перекодировать, то вводить:

Код: Выделить всё

cat russian.php | iconv -fcp1251 -tutf8 > russian-utf-8.php

Так?
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Изменение кодировки текста... =)

Сообщение elide »

ну да (:
главное не вводить cat russian.php | iconv -fcp1251 -tutf8 > russian.php, потому как тогда shell затрет russian.php еще до начала перекодировки. в результате получится пустой файл.
слава роботам!
Спасибо сказали:
malor
Сообщения: 335

Re: Изменение кодировки текста... =)

Сообщение malor »

Если я открываю текстовой файл в mc по F3 созданный в венде, то вместо русских букв точки. Как быть?
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Изменение кодировки текста... =)

Сообщение Goodvin »

malor писал(а):
28.02.2007 11:36
Если я открываю текстовой файл в mc по F3 созданный в венде, то вместо русских букв точки. Как быть?


В настройках МС установить полный 8-битный вывод.
Спасибо сказали:
Аватара пользователя
solshark
Сообщения: 439
Статус: Монархист
ОС: Gentoo ~amd64

Re: Изменение кодировки текста... =)

Сообщение solshark »

DialSoft писал(а):
23.02.2007 16:11
Народ! САБЖ! Чтото я не пойму как такое сделать... =) Во всех текстовых редакторах можно только кодировку отображения менять. А как ПЕРЕКОДИРОВАТЬ??
Буду оч благодарен за ответ.

Рассказываю секретный путь для самых чайников, у которых из носика уже дымит и внутри что-то шкворчит: открываете нужный файл в kwrite или kate, выставляете нужную кодировку, чтобы текст стал читабельным (допустим 1251). Далее Ctrl+A, Ctrl+X, снова меняете кодировку (уже на ту, которая нужна, скажем юникод), Ctrl+V, Ctrl+S.

Фсьо.

З.Ы.: "Самых чайников" прошу не обижаться. Это метафора. Сам так делаю иногда :)
З.З.Ы.: iconv все равно всем освоить в обязательном порядке, потому как на редком сервере найдется кусочек КДЕ, а перекодировать все равно что-то приходится, так что метод elide - тру.
Ceterum censeo Carthaginem esse delendam
Marcus Porcius Cato
Мой блог про KDE4 и рыбу в томате
Спасибо сказали:
Аватара пользователя
Navy Genie
Сообщения: 57
ОС: Fedora Core

Re: Изменение кодировки текста... =)

Сообщение Navy Genie »

Есть удобная утилитка recode , как правило в любой дистрибутив её включают.
Комманда перекодировки выглядит так:
recode cp1251..utf-8 ./ИМЯ_ФАЙЛА

Может ругнуться на то, что не в состоянии обработать CR-LF символы, тогда комманда должна выглядеть вот так:
recode cp1251/CP..utf-8 ./ИМЯ_ФАЙЛА

Утилита меняет сам файл по умолчанию, так что на всяк пожарный я перед перекодированием оригинал бэкаплю.
Каждый сам роет себе карьеру
Спасибо сказали: