Saya memiliki 3 jenis file name
pengkodean pada reiserfs
hard drive yang terpasang: CP1251, KOI-8, UTF-8 dan ASCII. Saya benar-benar perlu mengubah semua penyandian menjadi UTF-8, secara rekursif. Apakah ada utilitas, yang akan mendeteksi pengkodean sumber dan mengubahnya menjadi UTF-8 atau saya harus menulis skrip Python?
8
detox
. Ini bekerja untuk saya antara ISO-8859-1 dan UTF-8 menggunakan-s iso8859_1-only
Jawaban:
Gunakan convmv, alat CLI yang mengubah nama file antara pengkodean yang berbeda. Untuk mengkonversi dari (
-f
) pengkondisian ini ke (-t
) UTF-8 lakukan hal berikut:Selain itu, jika Anda ingin mengonversi konten file, gunakan
iconv
, alat CLI untuk mengonversi konten file ke penyandian berbeda. Untuk mengkonversi dari (-f
) pengkondisian ini ke (-t
) UTF-8 lakukan hal berikut:sumber
Nggak. Salah satu kelemahan besar sistem halaman kode lama adalah bahwa tidak ada cara untuk mendeteksi mana yang sedang digunakan; Anda hanya harus tahu itu apriori. Jika Anda tahu file mana yang menggunakan pengkodean mana maka Anda dapat mengonversi nama menggunakan sesuatu seperti:
sumber
chardet
entah bagaimana mendeteksinya ...Solusi yang sama dengan
iconv
as @psusi tetapi dengan loop dan kartu-sementara:Juga
sh
skrip shell oneline :Dengan membaca kartu sementara dari saluran pipa:
sumber