php读取txt是乱码的解决办法:首先使用“file_get_contents”函数把整个文件读入一个字符串中;然后获取文件的编码方式;接着以只读的方式打开文件;最后使用iconv将“$encoding”转换成“UTF-8”即可。
PHP读取TXT中文乱码的解决方法
代码如下:
复制//$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;}}}}
更多相关知识,请访问PHP中文网!