【问题标题】:convert csv file to csv UTF8 by php通过 php 将 csv 文件转换为 csv UTF8
【发布时间】:2015-07-04 02:51:30
【问题描述】:

我从客户端获得了 .csv 文件,但是当我使用 PHP 读取它时,它显示一些文本无法读取。我尝试使用 google sheet 上传并打开,然后再次使用 google 导出 .csv。当我用 php 阅读它时,它工作得很好。

有什么方法可以在不使用 google 的情况下将 .csv 转换为 .csv UTF8 吗?因为客户端每天都会自动将 .csv 发送到服务器。然后我的 php 脚本将读取 .csv 数据并将其导入数据库。请帮忙

谢谢

【问题讨论】:

  • 我已经尝试使用 header('Content-Type: text/html; charset=utf-8');和 iconv_set_encoding("internal_encoding", "UTF-8"); ,两者都不起作用。
  • 它不起作用我尝试使用 echo iconv( "Windows-1252", "UTF-8", $data[$c] ) 跟随他们的代码。它仍然显示不可读的文本。请帮忙

标签: php csv utf-8 export-to-csv


【解决方案1】:

我找到了方法,首先使用:

header('Content-Type: text/html; charset=utf-8');

我们需要从这里找到我们使用的编码语言

http://destructor.de/charsets/index.htm

我的语言是泰语,所以我需要使用 windows-874。所以应该是:

iconv("windows-874", "UTF-8", $data[$c]);

所以只使用这 2 行

header('Content-Type: text/html; charset=utf-8');
iconv("windows-874", "UTF-8", $data[$c]);

感谢苏米特 :)

【讨论】:

    【解决方案2】:

    您可以尝试将“BOM”添加到 CSV 文件的开头(即三个字节:EF BB BF - https://en.wikipedia.org/wiki/Byte_order_mark)。根据我的经验,带有 BOM 的 CSV 文件可以被 Excel 很好地解释。也许它会对你的情况有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-09
      • 2017-01-15
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 2018-07-11
      • 1970-01-01
      相关资源
      最近更新 更多