求助:读取文件中文乱码

#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