Tôi có một tập tin được mô tả dưới Unix như:iconv định dạng unicode chưa biết đầu vào
$file xxx.csv
xxx.csv: UTF-8 Unicode text, with very long lines
Xem nó trong less
/vi
sẽ làm cho một số ký tự đặc biệt (SSA ° ...) không thể đọc được (├╝); Windows cũng sẽ không hiển thị nó; nhập nó trực tiếp vào một db sẽ chỉ thay đổi các ký tự đặc biệt thành một số ký tự đặc biệt khác (+ ä, + ñ, ...).
Tôi muốn chuyển đổi ngay bây giờ thành mã hóa "có thể đọc được mặc định" với biểu tượngv. Khi tôi cố gắng chuyển đổi nó với iconv
$iconv -f UTF-8 -t ISO-8859-1 xxx.csv > yyy.csv
iconv: illegal input sequence at position 1234
sử dụng UNICODE như là đầu vào và UTF-8 như đầu ra sẽ trở lại cùng một thông điệp
Tôi đoán các tập tin có phần mã hóa trong định dạng khác mà tôi không biết - làm thế nào tôi có thể tìm ra định dạng nào để chuyển đổi nó thành cái gì đó "phổ quát" có thể đọc được ...
Hãy thử mở nó trong trình soạn thảo văn bản cho phép bạn thay đổi mã hóa để mở tệp. Trường hợp xấu nhất mà trình duyệt cũng sẽ làm. Sau đó, chơi xung quanh với các mã hóa có sẵn và xem những gì hiển thị các ký tự chính xác. – deceze
Tôi đã thử với notepad ++ nhưng nó là 680MB và notepad ++ nói với tôi rằng nó quá lớn. –
Tệp này rõ ràng không phải là UTF-8, ngay cả khi 'tệp' đoán nó. Bạn có thể cho chúng tôi thấy tám byte bắt đầu tại offset 1234, ở dạng hexdump của chúng không? –