2

我现在正在拉我的头发几天。我已经用谷歌搜索和 stackoverflow 了很多但没有成功。

我正在从 csv 文件中导入一些数据。此 CSV 文件是在 Windows 或 Mac 上的 Excel 中生成的,它提供了 2 种不同的编码“Windows-1251”和“MacRoman”。两者都是 ISO-8859-1 的变体,mb_detect_encoding 无济于事:它总是检测我放入列表中的第一个编码。

例如 :

mb_detect_encoding($buffer, 'macroman, windows-1251, UTF-8');

会给“宏指令”。

使用相同的字符串,尝试:

mb_detect_encoding($buffer, 'windows-1251, macroman, UTF-8');

将给出“window-1251”。

那么如何才能正确地做出改变呢?我需要将输入字符串(csv 文件内容)转换为 utf-8 以插入数据库。

也许我错过了什么?你们通常如何设法解析csv文件,并将数据正确保存在DB(utf8)中。

感谢您提供任何线索!

4

1 回答 1

0

我认为确保正确处理此问题的唯一方法是首先定义一个保存 csv 文件的过程。然后你只需要 utf8_encode 进来的东西就可以了......

于 2011-04-27T09:33:07.673 回答