Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
尝试导入 CSV 文件时,阿拉伯字符在运行时消失fgetcsv,但是当我从 打印输出时fopen,阿拉伯字符显示得很好。奇怪的是,这只发生在我们的生产环境中,而不是在我的开发环境中,在那里fgetcsv可以很好地读取阿拉伯字符。是否有一些服务器设置在生产中设置不正确?
fgetcsv
fopen
fgetcsv()根据系统区域设置对文件的编码进行假设。正如 PHP 手册所述:
fgetcsv()
此功能考虑了区域设置。如果LANG是 eg en_US.UTF-8,则此函数读取单字节编码的文件错误。
LANG
en_US.UTF-8
您可能想比较两台机器上的语言环境设置,或者在其中一台机器上永久更改它,或者setlocale(LC_ALL, 'ar_AE.utf8')在fgetcsv().
setlocale(LC_ALL, 'ar_AE.utf8')