Mam 3 rodzaje file name
kodowania na reiserfs
zamontowanym dysku twardym: CP1251, KOI-8, UTF-8 i ASCII. Naprawdę muszę rekurencyjnie przekonwertować wszystkie kodowania na UTF-8. Czy jest jakieś narzędzie, które wykryje kodowanie źródłowe i przekonwertuje je na UTF-8, czy też muszę napisać skrypt w języku Python?
8
detox
. Działa dla mnie między ISO-8859-1 a UTF-8 przy użyciu-s iso8859_1-only
Odpowiedzi:
Użyj convmv, narzędzia CLI, które konwertuje nazwę pliku między różnymi kodowaniami. Aby przekonwertować z (
-f
) tych kodowań na (-t
) UTF-8, wykonaj następujące czynności:Ponadto, jeśli chcesz przekonwertować zawartość pliku, użyj
iconv
narzędzia CLI do konwersji treści pliku na różne kodowania. Aby przekonwertować z (-f
) tych kodowań na (-t
) UTF-8, wykonaj następujące czynności:źródło
Nie. Jedną z dużych wad starego systemu stron kodowych jest brak możliwości wykrycia, który z nich jest używany; musisz po prostu wiedzieć, że a priori. Jeśli wiesz, które pliki używają kodowania, możesz przekonwertować nazwy, używając czegoś takiego:
źródło
chardet
jakoś to wykrywa ...iconv
Takie samo rozwiązanie jak w przypadku spsses @psusi, ale z pętlą i kartą while:Również
sh
skrypt powłoki oneline :Z odczytem karty while z linii rurowej:
źródło