求助:读取文件中文乱码
发布于:2022-01-17 09:50:54
#1 woweibawang
$file=fopen("welcome.txt",'r') or exit("Unable to open the file");
while(!feof($file))
{
$data=fgets($file);
$data = iconv("UTF8","GB2312//IGNORE",$data)
echo $data."
";
}
刚开始是乱码,后来网上查了后加上$data = iconv("UTF8","GB2312//IGNORE",$data) ,然后就报错。。。。
请高手帮助,谢谢。。。
2010-05-04 17:13:52
#2 jake
试试这样
$myfile = file_get_contents('welcome.txt');
$mydata = iconv("UTF-8","GBK",$myfile);
echo $mydata ;
使用file_get_contents和file_put_contents来替代fopen系列函数,会比较方便。
另外,iconv错误提示是什么?给出错误提示的话,问题更容易解决。
2010-05-04 17:30:21
#3 woweibawang
谢谢jake。。。
你上面提到的代码遇到中文就不能输出,英文是可以的,看遇到中文,就停止了。。。
另外:
我那个错误提示是:
Parse error: syntax error, unexpected T_ECHO in F:\AppServ\www\index.php on line 162
2010-05-04 17:58:20
#4 jake
看这提示,感觉应该是文件内的内容有令ICONV出错的字符,你试试另外找一个文本文件来试试。
2010-05-04 20:15:24
#5 woweibawang
还是不行。。。
2010-05-05 12:28:23
#6 hkbaby
帮忙解说下 Data too long for column 'Title' at row 1 这是什么错误。
2010-05-05 14:40:01
#7 jake的马甲
帮忙解说下 Data too long for column 'Title' at row 1 这是什么错误。
hkbaby 发表于 2010-5-5 14:40 
Data too long for column 'Title' at row 1
字面上的意思是第一行内,数据比title字段长度更长。大概是输入的数据比数据库内title字段的长度更长所以报错吧。
2010-05-05 15:19:51
#8 hkbaby
哦 好的 我改下看看:)
2010-05-05 15:45:22
#9 hkbaby
在这款软件里这 $this->assign() 怎么用? 高手解释下。
2010-05-06 10:44:51
#10 hkbaby
明白了,原来看错了
2010-05-06 10:52:36