Сайт | Скачать | Видео | Wiki

Автор Тема: Как в файле перевести текст из Win в UTF?  (Прочитано 3924 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: Как в файле перевести текст из Win в UTF?
« Ответ #15 : 05 Ноябрь 2018, 19:15:36 »
live@pc:~/win$ for i in *.txt; do enconv  ${i%%}; done
-- с параметрами finda~а пока не сильно знаком, но аналоги попавшейся  в комментарии строки ( http://syslinux.ru/node/1139 ) наверное должны конвертировать "по маске" и из подкаталогов.

пр.:
Код
find . -name '*.txt' -exec enconv  -x UTF-8 {} \;
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Как в файле перевести текст из Win в UTF?
« Ответ #16 : 05 Ноябрь 2018, 19:45:22 »
Почему никто не вспомнил про iconv?
Код
# iconv -f WINDOWS-1251 -t UTF8 Загрузки/файл.txt > Загрузки/файл-utf8.txt
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Как в файле перевести текст из Win в UTF?
« Ответ #17 : 05 Ноябрь 2018, 19:54:45 »
Массовое перекодирование

https://ru.wikipedia.org/wiki/Iconv#.D0.9C.D0.B0.D1.81.D1.81.D0.BE.D0.B2.D0.BE.D0.B5_.D0.BF.D0.B5.D1.80.D0.B5.D0.BA.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5
 - -- --

перекодирование всех файлов в каталоге с их заменой, одной строчкой:

Код
for i in *; do iconv -f WINDOWS-1251 -t UTF-8 "$i" >tmp; mv tmp "$i"; done

проверил, работает
пс
 ошибки не обрабатывает, если попадется файлик с не той кодировкой - хз
эксперементируйте над копиями
- - -- -
Почему никто не вспомнил про iconv?

а так вроде есть iconv --help
« Последнее редактирование: 05 Ноябрь 2018, 20:21:03 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6282
  • Репутация: +141/-0
Re: Как в файле перевести текст из Win в UTF?
« Ответ #18 : 05 Ноябрь 2018, 20:31:24 »
этим действием меняется "текущая" кодировка при просмотре
в geany при сохранении я кнопки выбора кодировки не вижу, т.е. сконвертить с помощью geany не получится(?)
Неверно, для просмотра в нужной кодировке  требуется выполнить: Меню->Файл->Загрузить заново как и выбрать кодировку.
А вот для пересохранения в др. кодировке, т.е. конвертации нужно выполнить: Меню->Документ->Установить кодировку и сохранить.
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Как в файле перевести текст из Win в UTF?
« Ответ #19 : 05 Ноябрь 2018, 20:55:49 »
для просмотра в нужной кодировке  требуется выполнить: Меню->Файл->Загрузить заново как и выбрать кодировку.
А вот для пересохранения в др. кодировке, т.е. конвертации нужно выполнить: Меню->Документ->Установить кодировку и сохранить.
угу
разобрался сейчас
в leafpade как то проще с этим..(или я привык)
« Последнее редактирование: 05 Ноябрь 2018, 20:59:32 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: Как в файле перевести текст из Win в UTF?
« Ответ #20 : 05 Ноябрь 2018, 23:46:08 »
Код: [Выделить]

for i in *; do iconv -f WINDOWS-1251 -t UTF-8 "$i" >tmp; mv tmp "$i"; done


проверил, работает
пс
 ошибки не обрабатывает, если попадется файлик с не той кодировкой - хз
эксперементируйте над копиями
:-[  :) похоже добаловался (включая sudo) - вродебы несколько пустых файлов ( точнее нужно ещё экспериментировать :)).
--------------------------------
enca
    У меня в roll1806:
    Код: [Выделить]
    $ ls /usr/share/locale
    locale.alias  ru

-- сделал себе такой файл (180203-lxqt).
--> заработало :)
-- повторить пока не удалось.
-- на Ретро-1807-icewm - нормально(без бубнов) (pacman2pfs):
Код
cd /"куда-надо"
, потом
Код
find . -name '*.txt' -exec enca -p  {} \;       ## показывает файлы с кодировкой (и из подкаталогов)
find . -name '*.txt' -exec enconv -p  {} \;     ## конвертирует что может

p.s. не могу пока понять - enconv - как-то и без sudo чтоли работает?
« Последнее редактирование: 05 Ноябрь 2018, 23:59:17 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re: Как в файле перевести текст из Win в UTF?
« Ответ #21 : 06 Ноябрь 2018, 06:02:22 »
как-то и без sudo чтоли работает?
sudo нужно там где прав не хватает
если эксперементы над своими файлами - зачем sudo ?!
свои в смысле принадлежат тому пользователю под которым зашли в учетку
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: Как в файле перевести текст из Win в UTF?
« Ответ #22 : 06 Ноябрь 2018, 08:10:52 »
  Виндовый фат-32 раздел, когда "баловался" - осозновал.
:) ночью внимание рассеялось.
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: Как в файле перевести текст из Win в UTF?
« Ответ #23 : 07 Ноябрь 2018, 16:55:07 »
Почему никто не вспомнил про iconv
  -- показалась полезной заметка "по-теме" : Синтаксис программы iconv ( https://webhamster.ru/mytetrashare/index/mtb0/1394 )

upd:
 -- проскакивала мысль о скрипте(для iconv ) - в котором кодировка входного файла задавалась бы переменной. А значения этой переменной - "сколько-то распространенных кодировок("весь список" кодировок iconv очень обширен)" - брались бы из какого-то списка/,файла(пока не представляю реализацию).
 
   В заметке, ссылка на которую выложена выше, вроде не упомянуто об обнулении файлов "других кодировок", и представлен скрипт обработки с подкаталогами .
   
   Можно(не так и трудно) и подставлять входящие кодировки "вручную".
« Последнее редактирование: 07 Ноябрь 2018, 17:14:02 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Как в файле перевести текст из Win в UTF?
« Ответ #24 : 07 Ноябрь 2018, 17:24:28 »
А значения этой переменной - "сколько-то распространенных кодировок
Код
# file Readme.txt | cut -f2 -d' '
ISO-8859
# file inxi.txt | cut -f2 -d' '
UTF-8
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64