Bạn đang tạo CSV, về cơ bản là một tệp văn bản thuần túy. Không có cách nào để chỉ định thông tin mã hóa trong các loại tệp như vậy. Hầu hết các trình soạn thảo văn bản triển khai tính năng tự động phát hiện mã hóa (tốt hơn hoặc tệ hơn). Excel thì không. Excel sẽ chỉ giả sử ANSI khi bạn nhấp chuột phải vào tệp CSV. (Bạn cần sử dụng menu "Mở" để được nhắc về mã hóa.)
Lựa chọn duy nhất còn lại của bạn (ngoài việc chuyển sang định dạng đầu ra khác) là chuyển đổi dữ liệu sang ANSI, bằng mb_convert_encoding () hoặc với iconv () . Nhưng bây giờ bạn có một vấn đề khác:ANSI không phải là một mã hóa thực, về cơ bản nó có nghĩa là "bất kỳ mã hóa nào được đặt trong my Máy tính Windows ". Trước tiên, bạn phải tìm ra kiểu mã hóa điển hình mà hầu hết người dùng của bạn có. Điều đó chủ yếu phụ thuộc vào quốc gia. Ví dụ:nhiều quốc gia Tây Âu sử dụng Win-1252.