2010-04-27 27 views
11

Tôi có một loạt tệp văn bản được mã hóa theo ISO-8851-2 (có một số ký tự đánh bóng). Có một công cụ dòng lệnh cho linux/mac mà tôi có thể chạy từ một kịch bản lệnh shell để chuyển đổi nó thành một uter-8 không?Chuyển đổi bộ ký tự từ XXX sang utf-8, dòng lệnh

+1

Rất có thể là ISO-885 ** 9 ** - 2. ISO 8851 nói về bơ. – Melebius

Trả lời

23

Từ dòng lệnh sử dụng

iconv -f LATIN1 -t UTF8 

Bạn có thể muốn thêm //TRANSLIT để UTF8.

+4

Trên OSX, ít nhất mã hóa utf được gọi là UTF-8 do đó lệnh là "iconv -f LATIN1 -t UTF-8" –

+0

@ThomasParslow, 'iconv -l' liệt kê cả hai' UTF8' và 'UTF-8'. – lhf

+0

@ lfh có thể là lỗi đánh máy ... sử dụng kết quả UTF8 trong 'biểu tượngv: chuyển đổi sang UTF8 không được hỗ trợ' UTF-8 thay thế được chấp nhận. Vừa thử – Paolo

3

GNU 'libiconv' sẽ có thể thực hiện công việc.

+0

Cảm ơn! Tôi biết nó dễ hơn tôi tưởng! – Marcin

9
recode latin2..utf8 myfile.txt 

Điều này sẽ ghi đè myfile.txt bằng phiên bản mới. Bạn cũng có thể sử dụng recode mà không có tên tệp làm đường ống.

+1

Cách hiệu quả hơn câu trả lời được chấp nhận, bởi vì iconv sẽ không thay thế cùng một tệp, thậm chí sử dụng chuyển hướng -o hoặc đầu ra. –

Các vấn đề liên quan