【问题标题】:Special characters in CSV and fgetcsvCSV 和 fgetcsv 中的特殊字符
【发布时间】:2013-07-18 02:51:26
【问题描述】:

我有带有特殊字符 ØÅÆ 的 CSV 文件 当我使用 fgetcsv 时,它只是忽略了字符串的其余部分。我为该行尝试了 var_dump,但我得到了这样的结果:���

这是我的代码:

if (($handle = fopen($path, "r")) !== FALSE) {
            while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {
                var_dump($data); die;
            }
            fclose($handle);
        }

我尝试在我的代码 setlocale(LC_ALL, 'en_US.UTF-8'); 之前添加这个 但没有任何运气。你有什么建议吗?

一些示例数据 - CSV 中的第一行:

VAR,E,5704617332886,500,11,"TURKISøåæØÅÆ","110"

【问题讨论】:

  • 您可以尝试从 PHP 发送 header('Content-Type: text/html; charset=utf-8'); 吗?打印数据时可能会解决问题。
  • 我已经在文件顶部,我在哪里打印数据
  • 啊...真可惜 :) 您能否在您的问题中提供一些示例数据,用于测试目的?
  • 添加了一些示例数据
  • 好吧,我说的标题评论对我来说就像一个魅力?在 var_dump (和您的代码)之前设置标题会按原样打印示例,而不忽略行的某些部分?

标签: php php-5.3


【解决方案1】:

正确的编码应该是 ISO-8859-1。这就是问题所在

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 2013-12-16
    • 2011-05-07
    • 2021-01-20
    • 2015-07-10
    相关资源
    最近更新 更多