LINUX.ORG.RU

кодировка


0

0

есть 20Gb файлов дернутых реккурсивно wget-ом.
не могу понять в какой кодировке записаны из названия.
вот пример

Физико-РјР°С%82РµР&#11 12;Р°С%82РёС%87РµС%81РєРёРµ РЅР°С%83РєРё (01)
это означает
Физико-математические науки (01)

не могу понять что передать в качестве -f для convmv
хочу сохранить названия в cp1251

помогите пожалуйста :) файлы очень нужны
спасибо.

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

Похоже на utf8-cp1251 крокозябры. Т.е. когда текст в кодировке UTF8, а прога, которая его выводит, работает в cp1251. Ты б сделал ls >files и выложил резудьтат куда-нибудь.

anonymous
()

Это строка в утф8, отображённая в цп1251 и с эскейп-подстановками, принятыми при кодировании non-ascii URI

Zmacs
()
Ответ на: комментарий от chocholl

Все правильно. У меня локаль UTF8, и содержимое файла я читаю практически нормально. Так что:

find . -type f -exec convmv -f utf8 -t cp1251 --notest {} \;

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

>find . -type f -exec convmv -f utf8 -t cp1251 --notest {} \;

на что он орет

this file was not validly encoded in UTF-8: "/tmp/1/Р%90Р%9DР%93Р%9BР%98Р%99РЎР%9AР%98Р%99 Рё Р РЈРЎРЎР%9AР%98Р%99 С%8FР·С%8BРє РґР»С%8F РјР°С%82ем/Р%93лазС%83РЅР&a mp;#1109;РІР°_Р С%83С%81С%81Рє С%8FР· РґР»С%8F РјР°С%82емаС%82РёРєРѕР&# 1030;2004.djvu" To prevent damage to your files, we won't continue. First fix this or correct options!

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

В схожей ситуации нужно было перекодировать 2 раза. Как-то наподобие -f koi8-r -t cp1251 , затем -f utf-8 -t cp1251 . Как это сделать в convmv не разобрался, всё сделал вручную.

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

Ой, нет, двойное перекодирование ни при чём. Попробуй в названиях файлов заменить "%81" "%82" "%83" и "%81" на соответствующие символы cp1251 и затем повторить то, что советует анонимус.

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