嘗試導入CSV文件時,運行fgetcsv
時阿拉伯字符消失,但是當我從fopen
打印輸出時,阿拉伯字符顯示得很好。奇怪的是,這隻發生在我們的生產環境中,而不是在我的開發環境中,fgetcsv
只讀阿拉伯字符。有沒有在生產中設置正確的服務器設置?fgetcsv()不讀取阿拉伯字符
回答
fgetcsv()
對基於系統區域設置的文件編碼做出了假設。正如PHP手冊所述:
此功能考慮到語言環境設置。如果
LANG
是例如en_US.UTF-8
,單字節編碼的文件被這個 函數讀錯了。
你可能想在你的兩臺機器比較區域設置和永久地改變它的其中一個,或者您fgetcsv()
之前使用類似setlocale(LC_ALL, 'ar_AE.utf8')
(第二個參數顯然取決於你的文件的編碼)。
它不適用,因爲阿拉伯語永遠不會是單字節編碼。 – pguardiario
@pguardiario我知道,但系統區域設置也可能是基於UTF-16的。 – lafor
謝謝!顯然,生產服務器上的語言環境設置不正確。在'fgetcsv'之前使用'setlocale(LC_ALL,'en_US.UTF-8')'做了竅門。 – Cole
- 1. Devart donetconnect連接器不讀取阿拉伯文字符串
- 2. 阿拉伯字符編碼
- 3. 與阿拉伯字符
- 4. Itextsharp和阿拉伯字符?
- 5. 阿拉伯字符問題
- 6. 創建阿拉伯字符
- 7. 阿拉伯字符運行
- 8. 與阿拉伯字符
- 9. 從NSMutableArray獲取阿拉伯字符串
- 10. 的preg_match不檢測阿拉伯字符
- 11. Tesseract不識別阿拉伯字符
- 12. 阿拉伯字符不被識別
- 13. 讀取文本文件阿拉伯語字符在PHP
- 14. 如何從varchar數據類型讀取阿拉伯字符?
- 15. 如何在Asp.net中讀取阿拉伯字符集數據
- 16. 從文本文件中讀取阿拉伯字符
- 17. 使用eclipse從mysql讀取阿拉伯字符
- 18. 在阿拉伯字符文件名(阿拉伯字符)下載圖像
- 19. 不需要的字符,而不是阿拉伯字符
- 20. str_replace函數不會取代阿拉伯字符
- 21. PDO數據庫阿拉伯字符
- 22. PHP 5.4 - mySQL阿拉伯字符
- 23. 從Base64到HTML的阿拉伯字符
- 24. 用weka顯示阿拉伯字符
- 25. Php刪除Unicode阿拉伯字符
- 26. 對阿拉伯字符的驗證
- 27. 阿拉伯字符base64編碼問題
- 28. 顯示阿拉伯文字符串
- 29. json是否支持阿拉伯字符?
- 30. Oracle 11g堅持阿拉伯字符
什麼是csv文件的編碼? – user4035
無法重現:我在utf8中用阿拉伯語創建了一個測試文件。 fgetcsv正常工作。 – user4035
你可以發佈文件嗎? – pguardiario