【问题标题】:Change the encoding of a .csv file before MySQL import在 MySQL 导入之前更改 .csv 文件的编码
【发布时间】:2016-10-02 20:51:06
【问题描述】:

我使用 Excel 文件的自动 VB 脚本创建了一个 CSV 文件。该文件使用latin_1 编码。要将此文件正确导入我的 MySQL 数据库,我需要将文件的编码转换为 UTF8

如果我将文件手动保存为 UTF8,它可以工作,但我希望使用 PHP 自动执行。

方向是XLS -> CSV -> MYSql。一切都在 Windows 上运行。

【问题讨论】:

  • 你原来有xls还是csv?

标签: php mysql excel csv


【解决方案1】:

这会将任何文本文件的编码从任何编码转换为 UTF-8。请注意,它不适用于 XLS 文件;您必须先将其转换为 CSV:

$pathToFile = '...';
$original = file_get_contents($pathToFile);
$originalEncoding = mb_detect_encoding($original);
$converted = mb_convert_encoding($original, 'UTF-8', $originalEncoding);
file_put_contents($pathToFile, $converted);

如果您不想覆盖原始文件,请为 file_put_contents() 指定不同的第一个参数。

【讨论】:

  • 有一个名为PHPExcel的开源库可以解析XLS文件,无需手动转换为CSV。
猜你喜欢
  • 1970-01-01
  • 2017-05-15
  • 2017-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-24
  • 1970-01-01
相关资源
最近更新 更多