我用fputcsv創建csv文件。我想要csv文件在windows1251 ecnding。但找不到解決方案。我怎樣才能做到這一點? 乾杯PHP fputcsv編碼
2
A
回答
8
excel文件的默認編碼是機器特定的ANSI,主要是windows1252
。但是由於您正在創建該文件並可能插入UTF-8字符,因此該文件無法正常處理。
創建文件時可以使用iconv()
。例如:
function encodeCSV(&$value, $key){
$value = iconv('UTF-8', 'Windows-1252', $value);
}
array_walk($values, 'encodeCSV');
2
4
該文件將在任何編碼你的字符串在PHP字符串是原始字節數組,其編碼取決於地方的字節是從哪裏來的。如果您只是從源代碼文件中讀取它們,那麼它們就會保存在您的源代碼中。如果它們來自數據庫,則它們處於數據庫連接設置的任何編碼狀態。
如果你需要從一種編碼轉換爲另一種,使用iconv
。如果您需要更深入的信息,請瀏覽:
7
它的工作:享受
使用此fputcsv前:
$line = array_map("utf8_decode", $line);
1
fputs($fp, $bom = chr(0xEF) . chr(0xBB) . chr(0xBF));
試試它爲我工作!
相關問題
- 1. 使用fputcsv php
- 2. PHP csv函數fputcsv
- 3. Php fputcsv麻煩上校
- 4. PHP fputcsv和封閉領域
- 5. PHP fputcsv與風格的.xls
- 6. PHP fputcsv輸出雙記錄
- 7. PHP fputcsv生成空文件
- 8. fputcsv將HTML代碼插入csv文件
- 9. fputcsv的替代
- 10. 與fputcsv
- 11. fopen()/ fputcsv():錯誤
- 12. 更改輸出變量PHP fputcsv
- 13. 帶有UTF-8的PHP fputcsv問題
- 14. 從PHP中的fputcsv中刪除引號?
- 15. PHP如何使用fputcsv功能
- 16. php - fputcsv,新行不插入行末
- 17. 以PHP(fputcsv)捕獲文件輸出
- 18. PHP fputcsv()無法正常工作
- 19. fputcsv不顯示來自php的mysql表
- 20. 用fputcsv覆蓋列
- 21. fputcsv和fgetcsv
- 22. Silex和fputcsv問題
- 23. 編碼PHP源碼
- 24. fputcsv和換行符
- 25. fputcsv和fwrite不起作用
- 26. PHP/JSON編碼
- 27. JSON編碼PHP
- 28. 編碼在PHP
- 29. URL編碼PHP
- 30. PHP XML編碼
當我用這個方法我有這樣的錯誤:的iconv():檢測到非法的字符輸入字符串 –
*「爲CSV文件默認的編碼是windows1251」 * ...?!?!誰設置了這個默認值? – deceze
剛剛醒來:),windows1252爲EN-US –