Tôi đã có một điều rất đơn giản là chỉ xuất ra một số nội dung ở định dạng CSV, nhưng nó phải là UTF-8. Tôi mở tệp này trong TextEdit hoặc TextMate hoặc Dreamweaver và nó hiển thị đúng các ký tự UTF-8, nhưng nếu tôi mở nó trong Excel thì nó sẽ làm điều đó thật ngớ ngẩn. Đây là những gì tôi đã nhận được ở phần đầu của tài liệu của mình:
header("content-type:application/csv;charset=UTF-8");
header("Content-Disposition:attachment;filename=\"CHS.csv\"");
Tất cả điều này dường như có hiệu ứng mong muốn ngoại trừ Excel (Mac, 2008) không muốn nhập nó đúng cách. Không có tùy chọn nào trong Excel để tôi "mở dưới dạng UTF-8" hoặc bất cứ điều gì, vì vậy, tôi cảm thấy hơi khó chịu.
Tôi dường như không thể tìm thấy bất kỳ giải pháp rõ ràng nào cho vấn đề này ở bất cứ đâu, mặc dù có rất nhiều người có cùng một vấn đề. Điều tôi thấy nhiều nhất là bao gồm BOM, nhưng tôi không thể tìm ra chính xác làm thế nào để làm điều đó. Như bạn có thể thấy ở trên tôi chỉ lấy echo
dữ liệu này, tôi không viết bất kỳ tập tin nào. Tôi có thể làm điều đó nếu tôi cần, tôi chỉ không làm vậy vì dường như không cần nó vào thời điểm này. Có ai giúp đỡ không?
Cập nhật: Tôi đã thử lặp lại BOM echo pack("CCC", 0xef, 0xbb, 0xbf);
mà tôi vừa lấy từ một trang đang cố gắng phát hiện BOM. Nhưng Excel chỉ thêm ba ký tự đó vào ô đầu tiên khi nó nhập và vẫn làm rối các ký tự đặc biệt.