Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用不同系统语言的Mac OS csv编码_Php_Macos_Csv_Encoding_Utf 8 - Fatal编程技术网

Php 使用不同系统语言的Mac OS csv编码

Php 使用不同系统语言的Mac OS csv编码,php,macos,csv,encoding,utf-8,Php,Macos,Csv,Encoding,Utf 8,我在读取csv文件时遇到问题 我的任务是通过php导入csv文件。 客户在Mac上的Excel中创建了他的csv文件。此文件包含类似äüöß的德语字母。 当我打开它时,这些字母会崩溃(在Windows的所有程序中)。当系统语言设置为英语(当设置为俄语时,TextEdit也会显示错误字符)时,在Mac上用TextEdit打开文件是正确的唯一方法 崩溃的信件示例:ナ丁格,J゚奥尔根;Kハ这个Empfハ安格尔 请帮助我,我已经尝试了所有可能的方式来编码的文件,但没有结果。 mb_检测_编码显示UTF-

我在读取csv文件时遇到问题

我的任务是通过php导入csv文件。 客户在Mac上的Excel中创建了他的csv文件。此文件包含类似äüöß的德语字母。 当我打开它时,这些字母会崩溃(在Windows的所有程序中)。当系统语言设置为英语(当设置为俄语时,TextEdit也会显示错误字符)时,在Mac上用TextEdit打开文件是正确的唯一方法

崩溃的信件示例:ナ丁格,J゚奥尔根;Kハ这个Empfハ安格尔

请帮助我,我已经尝试了所有可能的方式来编码的文件,但没有结果。 mb_检测_编码显示UTF-8

当我甚至无法在电脑上正确打开它时,我如何才能正确阅读它


为什么在Mac上读取csv文件取决于系统语言?

我的解决方案是添加以下行:

$line = iconv('macintosh', 'UTF-8', $line);

听起来更像是一个软件问题,而不是一个编码问题。您是否在使用PHP导入文件时遇到了具体问题?UTF-8通常与PHP配合良好,例如,CSV函数可以很好地解析UTF-8编码的CSV文件数据(一个常见的例外是BOM,它可以破坏第一个字段/记录,需要首先过滤掉)。为了更好地检查桌面上的CSV文件,您可以尝试Libre/Open Office,它允许您在打开文件时检查各种字符编码设置。-参见:参见下面我的答案