php读取上传的txt文件时会出现俩种格式
EUC-CN格式
CP936格式
$file_txt = $dir . $file_name;
$data=array();
$i=0;
$content=fopen($file_txt,'r');
//读取失败
if(!$content) {
$Msmq->set(array('errorCode' => 1, 'msg' => '读取失败'));
}
while(!feof($content)){
$str=fgets($content);
//读取的数据存在乱码需要设置编码
$encoding = mb_detect_encoding($str,array('GB2312','GBK','UTF-16','UCS-2','UTF-8','BIG5','ASCII'));
if($encoding!=false){
if ($encoding != "EUC-CN") {
if($encoding != "CP936"){
$data[$i] = iconv($encoding, "UTF-8", $str);
}else{
$data[$i] = $str;
}
}else{
$data[$i] = iconv($encoding, "UTF-8", $str);
}
}else{
$data[$i] = mb_convert_encoding($str,'UTF-8','Unicode');
}
$i++;
unset($str);
}