Bài toán: export dữ liệu tiếng Việt UTF-8 thành file CSV có thể hiển thị đúng khi mở bằng Excel.
3 điểm dẫn đến thành công:
+ Dùng TAB (\t) thay cho COMMA (,) để phân tách các cột
+ Convert Encoding của dữ liệu cần output bằng UTF-16LE
+ Gắn chr(255)chr(254) vào đầu của kết quả cuối cùng trước khi output
Code demo cho PHP
// khai báo $filepath
// tạo nội dung $tmp
// convert và output
$tmp = chr(255).chr(254).mb_convert_encoding($tmp, ‘UTF-16LE’, ‘UTF-8′);
$write = fwrite($filepath, $tmp);
Địa chỉ tham khảo: http://www.php.net/fwrite Môi trường phát triển khi thực hiện:
+ DB: Postgres 8.x
+ WebServer: Apache 2.0.x
+ Engine: PHP 5.4.x
+ Excel 2003
Kết quả:
+ ngòai kết quả cần đạt được là hiển thị đúng tiếng Việt, dữ liệu tiếng Nhật cũng hiển thị đúng.
Thứ Ba, 17 tháng 8, 2010
Đăng ký:
Đăng Nhận xét (Atom)
0 nhận xét:
Đăng nhận xét