您的位置:首页 > 编程语言 > PHP开发

PHP读取TXT中文乱码的解决方法

2017-09-13 18:51 585 查看
//$fname文件名称

if ($fname = $_FILES['nickname']['tmp_name']) {

//file_get_contents() 函数把整个文件读入一个字符串中。

$contents = file_get_contents($fname);

//获取文件的编码方式

$encoding = mb_detect_encoding($contents, array('GB2312','GBK','UTF-16','UCS-2','UTF-8','BIG5','ASCII'));

$fp=fopen($fname,"r");//以只读的方式打开文件

$text = "";

$num = 0;

if(!(feof($fp))) {

$num++;

$str = trim(fgets($fp));

if ($encoding != false) {

//iconv ()将$encoding 转换成“UTF-8”

$str = iconv($encoding, 'UTF-8', $str);

if ($str != "" and $str != NULL) {

$text = $str;

}

}

else {

$str = mb_convert_encoding ( $str, 'UTF-8','Unicode');

if ($str != "" and $str != NULL) {

$text = $str;

}

}

}

while(!(feof($fp))) {

$str = '';

$str = trim(fgets($fp));

if ($encoding != false) {

$str = iconv($encoding, 'UTF-8', $str);

if ($str != "" and $str != NULL) {

$text = $text.",".$str;

}

}

else {

$str = mb_convert_encoding ( $str, 'UTF-8','Unicode');

if ($str != "" and $str != NULL) {

$text = $text.",".$str;

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: