【问题标题】:PHP str_getcsv removes umlautsPHP str_getcsv 删除变音符号
【发布时间】:2011-09-28 13:54:02
【问题描述】:

标签: php csv diacritics


【解决方案1】:

假设 fgetcsv (http://php.net/manual/en/function.fgetcsv.php) 的工作方式类似于 str_getcsv() 然后引用手册页:

考虑了区域设置 通过这个功能。如果 LANG 是例如 en_US.UTF-8,一个字节的文件 编码被这个读错了 函数。

那么您应该尝试使用 setlocale 设置语言环境 http://php.net/manual/en/function.setlocale.php

如果这不起作用,请尝试启用多字节重载 http://www.php.net/manual/en/mbstring.overload.php

或者更好的是,使用 Zend/Symfony 库等标准框架库来提取数据

【讨论】:

    【解决方案2】:

    我在一些源自 Microsoft Excel 的数据中的 ï 字符遇到了类似的问题,保存为 CSV(是的,在“另存为...”对话框的“网络选项”部分中选择了 UTF8 编码)。而且,这似乎与 str_getcsv 所期望的 UTF8 编码不同。

    我现在首先通过iconv 运行所有内容,它工作正常 - Excel 的 CSV 文件想法似乎有些问题:

    iconv -f windows-1252 -t utf8 source.csv > output.csv
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-03
      • 1970-01-01
      • 2013-08-04
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多