尝试导入CSV文件时,阿拉伯字符在运行fgetcsv
时消失,但是当我打印fopen
的输出时,阿拉伯字符显示正常。奇怪的是,这只发生在我们的生产环境中而不是我的开发环境中,fgetcsv
读取阿拉伯字符就好了。是否有某些服务器设置未在生产中正确设置?
答案 0 :(得分:2)
fgetcsv()
根据系统区域设置对文件的编码做出假设。正如PHP手册所述:
此功能会考虑区域设置。如果是
LANG
,例如en_US.UTF-8
,单字节编码的文件由此读取错误 功能
您可能希望比较两台计算机上的区域设置,并在其中一台机器上永久更改它,或者在{setlocale(LC_ALL, 'ar_AE.utf8')
之前使用fgetcsv()
(第二个参数显然取决于文件的编码) 1}}。