我用php读取txt的内容后,再输出内容就变成了乱码
<meta http-equiv="Content-Type" content="text/html;  charset=uft-8"/>
我换成了charset=gb2312或charset=gbk或者是不用都不可以
我的txt的内容应该是从其他文件转换成的,
如果我重新建一个txt,再将内容复制过去就可以正常地输出,
但由于某些原因,不可能每一个都这样做
请问有什么方法可以解决

解决方案 »

  1.   

    因为你的文件是gbk格式,所以就乱码啊。win重新建的txt都是gbk或者gb2312格式,所以要转
      

  2.   

    但如果我不确定读取的是utf还是gbk,在输出时可以兼容吗?
    就是不管我读取的是utf还是gbk,都可以正常地输出
      

  3.   

    你可以读取的时候先用PHP函数把读到的内容统一转化成utf-8的,然后再输出,你试试这样行么
      

  4.   

    你可以在后台重新写个方法
    public String getStr(String str){
       String temp="";
       try{
            temp=new String(str.getBytes("iso8859-1"),"gbk");
       }catch(Exception e){
            //输出错误信息
       }
    }
      

  5.   

    楼上兄弟,你写的是java的,这里是PHP
      

  6.   

    读取文件时先转换成统一编码,php读文件时默认编码是UTF-8
    可以这样写
    $opt = array('file'=>array('encoding'=>'gb2312'));
    $ctxt = stream_context_create($opt);
    file_get_contents($filename,false,$ctxt);