我有一个名为data.csv的文件,必须上传到服务器并解析...
这个文件可以有不同的编码格式。我必须检测它并转换为utf8。
目前,php函数mb_detect_encoding总是返回utf8。 我尝试了:
<?php
mb_detect_encoding(file_get_contents($_FILES["csv_uploadfile"]["tmp_name"]));
或者<?php
mb_detect_encoding(file_get_contents($saved_file_path));
mb_detect_encoding返回utf8。
如果我使用bash命令
$ file -bi csv_import_1378376486.csv |awk -F "=" '{print $2}'
它返回 iso-8859-1
因此当我尝试时
iconv --from-code=iso-8859-1 --to-code=utf-8 csv_import_1378382527.csv
它不可读。
真正的编码是cp1251,但我无法检测到。 有人能帮我解决这个问题吗?