Php 使用不同系统语言的Mac OS csv编码
我在读取csv文件时遇到问题 我的任务是通过php导入csv文件。 客户在Mac上的Excel中创建了他的csv文件。此文件包含类似äüöß的德语字母。 当我打开它时,这些字母会崩溃(在Windows的所有程序中)。当系统语言设置为英语(当设置为俄语时,TextEdit也会显示错误字符)时,在Mac上用TextEdit打开文件是正确的唯一方法 崩溃的信件示例:ナ丁格,J゚奥尔根;Kハ这个Empfハ安格尔 请帮助我,我已经尝试了所有可能的方式来编码的文件,但没有结果。 mb_检测_编码显示UTF-8 当我甚至无法在电脑上正确打开它时,我如何才能正确阅读它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-
为什么在Mac上读取csv文件取决于系统语言?我的解决方案是添加以下行:
$line = iconv('macintosh', 'UTF-8', $line);
听起来更像是一个软件问题,而不是一个编码问题。您是否在使用PHP导入文件时遇到了具体问题?UTF-8通常与PHP配合良好,例如,CSV函数可以很好地解析UTF-8编码的CSV文件数据(一个常见的例外是BOM,它可以破坏第一个字段/记录,需要首先过滤掉)。为了更好地检查桌面上的CSV文件,您可以尝试Libre/Open Office,它允许您在打开文件时检查各种字符编码设置。-参见:参见下面我的答案