我现在正在拉我的头发几天。我已经用谷歌搜索和 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)中。
感谢您提供任何线索!