01/10/2018, 10:58

Lỗi font khi export CSV bằng PHP

Mình có thực hiện xuất file CSV bằng PHP.
Tuy nhiên có 1 vấn đề là nếu mở file xuất = MS Excel thì bị lỗi font : 表示タイトル名
Còn nếu mở = notepad++ thì hiển thị chuẩn : 表示タイトル名.

Như vậy là do code của mình lỗi hay do MS Excel có vấn đề (mình muốn mở ở MS Excel vì nó hiển thị rõ ràng các column)

Trong file HTML mình đã có :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

và trong code PHP đã có :

`$headers = [
        'Content-Type: text/csv',
    ];`

Cảm ơn mọi người đã đọc !

Dark.Hades viết 13:08 ngày 01/10/2018

File bạn xuất ra ở encoding nào?

Khi xuất ra CSV thì nên dùng mb_convert_encoding sang UTF-8, với tiếng nhật thì nên dùng JIS/SHIFT-JIS

MS Excel khi đọc file tiếng nhật nó thường cho mặc định encode là SHIFT-JIS, vậy nên khi export dữ liệu hãy cho về chuẩn này.

HelloVietNam viết 13:15 ngày 01/10/2018

oke bạn để mình thử sửa, sẽ phản hồi cho bạn sau

Vô Thin viết 13:06 ngày 01/10/2018

Excel không hiểu Unicode UTF-8 đâu nhé. Cho nên, lấy file .CSV đó upload lên Google Drive và dùng chức năng trên đó convert thành file .xls hoặc .xslx rồi download file đó về, dùng Excel mở ra mới được.

Còn cứ loay hoay với việc kia, Excel trong bộ Office từ sau 2010 mình không rõ, chứ từ Office 2010 về trước là không làm được, mình email cho Microsoft và họ trả lời rồi.

Quân viết 13:03 ngày 01/10/2018

Xác nhận là bản office mới nhất vẫn còn nguyên lỗi nhé, nên xuất thẳng ra xls cho lành

HelloVietNam viết 13:09 ngày 01/10/2018

mình cũng muốn xuất xlsx cho nó đẹp vs ít lỗi, cơ mà yêu cầu phải làm csv thôi

HelloVietNam viết 13:08 ngày 01/10/2018

cảm ơn bạn, mình up lên gg drive mở = google sheet thì nó ok k có lỗi gì !

Bài liên quan
0