Tôi đang phát triển một phần của ứng dụng chịu trách nhiệm xuất một số dữ liệu thành tệp CSV. Ứng dụng này luôn sử dụng UTF-8 vì tính chất đa ngôn ngữ của nó ở mọi cấp độ. Nhưng việc mở các tệp CSV như vậy (có chứa ví dụ: dấu phụ, chữ cái, chữ Hy Lạp) trong Excel không đạt được kết quả mong đợi hiển thị như thế nào Г„/Г¤, Г–/Г¶
. Và tôi không biết làm cách nào để Excel hiểu rằng tệp CSV đang mở được mã hóa theo UTF-8. Tôi cũng đã thử chỉ định BOM UTF-8 EF BB BF
, nhưng Excel bỏ qua điều đó.
Có bất kỳ công việc xung quanh?
PS Những công cụ nào có khả năng hoạt động giống như Excel?
CẬP NHẬT
Tôi phải nói rằng tôi đã nhầm lẫn cộng đồng với việc xây dựng câu hỏi. Khi tôi hỏi câu hỏi này, tôi đã hỏi cách mở tệp CSV UTF-8 trong Excel mà không gặp vấn đề gì với người dùng, một cách trôi chảy và minh bạch. Tuy nhiên, tôi đã sử dụng một công thức sai yêu cầu thực hiện nó tự động . Điều đó rất khó hiểu và nó đụng độ với tự động hóa vĩ mô VBA. Có hai câu trả lời cho câu hỏi này mà tôi đánh giá cao nhất: câu trả lời đầu tiên của Alex https://stackoverflow.com/a/6002338/166589 và tôi đã chấp nhận câu trả lời này; và cái thứ hai của Mark https://stackoverflow.com/a/6488070/166589đã xuất hiện muộn hơn một chút. Từ quan điểm về khả năng sử dụng, Excel dường như thiếu hỗ trợ CSV UTF-8 thân thiện với người dùng, vì vậy tôi coi cả hai câu trả lời đều đúng và tôi đã chấp nhận câu trả lời của Alex trước vì thực sự tuyên bố rằng Excel không thể làm được mà minh bạch. Đó là những gì tôi nhầm lẫn với tự động ở đây. Câu trả lời của Mark thúc đẩy một cách phức tạp hơn cho người dùng cao cấp hơn để đạt được kết quả mong đợi. Cả hai câu trả lời đều tuyệt vời, nhưng câu trả lời của Alex phù hợp với câu hỏi không được chỉ định rõ ràng của tôi tốt hơn một chút.
CẬP NHẬT 2
Năm tháng sau lần chỉnh sửa cuối cùng, tôi nhận thấy rằng câu trả lời của Alex đã biến mất vì một số lý do. Tôi thực sự hy vọng nó không phải là một vấn đề kỹ thuật và tôi hy vọng không có cuộc thảo luận nào về câu trả lời nào lớn hơn bây giờ. Vì vậy, tôi chấp nhận câu trả lời của Mark là câu trả lời hay nhất.
\t
là dấu phân cách. Sẽ làm việc trong cài đặt Excel tiếng Anh và không tiếng Anh. Có thể nhấn Ctrl-S
mà không chọn định dạng tệp, v.v. Sẽ giữ nguyên ký tự Unicode.