嘗試導入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. 與阿拉伯字符
- 5. 創建阿拉伯字符
- 6. Itextsharp和阿拉伯字符?
- 7. 阿拉伯字符問題
- 8. 與阿拉伯字符
- 9. .NET不能從oracle讀取阿拉伯字符與字符集「WE8ISO8859P1」
- 10. 阿拉伯字符不被識別
- 11. 的preg_match不檢測阿拉伯字符
- 12. 從文本文件中讀取阿拉伯字符
- 13. 如何在Asp.net中讀取阿拉伯字符集數據
- 14. 讀取文本文件阿拉伯語字符在PHP
- 15. 使用eclipse從mysql讀取阿拉伯字符
- 16. 如何從varchar數據類型讀取阿拉伯字符?
- 17. 在阿拉伯字符文件名(阿拉伯字符)下載圖像
- 18. 不需要的字符,而不是阿拉伯字符
- 19. str_replace函數不會取代阿拉伯字符
- 20. 用weka顯示阿拉伯字符
- 21. 阿拉伯字符base64編碼問題
- 22. json是否支持阿拉伯字符?
- 23. 顯示和存儲阿拉伯字符
- 24. 在unicode中處理阿拉伯字符
- 25. TestNG無法打印阿拉伯字符
- 26. JSON解碼中的阿拉伯字符
- 27. PHP 5.4 - mySQL阿拉伯字符
- 28. URL中的阿拉伯字符
- 29. 阿拉伯字符「???????」 PHP和MySQL
- 30. 阿拉伯字符串逆轉在xcode
什麼是csv文件的編碼? – user4035
無法重現:我在utf8中用阿拉伯語創建了一個測試文件。 fgetcsv正常工作。 – user4035
你可以發佈文件嗎? – pguardiario