日期:2014-05-18  浏览次数:20913 次

jsp中读TXT文件出现乱码的问题,特奇怪
文本文是http://www.m4m.cn/gstext/82.txt,在windows下创建的,上传到windows虚拟主机上不存在乱码,上传到   unix   等其它非WINDOWS主机上就出问乱码了,详见
http://www.m4m.cn/gss310.jsp?gamesnid=82.html

==========================================

以下是   http://www.m4m.cn/gss310.jsp?gamesnid=82.html   页的JSp读到本文本文件的代码。。。。。

<%request.setCharacterEncoding( "gb2312 ");   %>

<%
String   path=request.getRealPath( " ");//取得当前目录的路径
String   filesrc=path+ "/gstext/ "+snid+ ".txt ";//文件地址
String   Line=null,keyword= " ",descpt= " ";

FileReader   fr=new   FileReader(filesrc);//建立FileReader对象,并实例化为fr
BufferedReader   br=new   BufferedReader(fr);//建立BufferedReader对象,并实例化为br
Line=br.readLine();
String   titles=Line;
//   titles=new   String(Line.getBytes( "ISO8859-1 "), "GB2312 ");   采用本方法依然是乱码


if   (Line!=null)
{

  keyword=br.readLine();
descpt=br.readLine();

}   else   {}

out.print( "titlea= "+titles);
//out.print( "keyword= "+keyword);
//out.print( "descpt= "+descpt);

br.close();//关闭BufferedReader对象
fr.close();//关闭文件
%>


结果是出现了乱码?????????

------解决方案--------------------
编码问题
------解决方案--------------------
注意编码的大小写,gb2312,GBK
------解决方案--------------------
你的*.txt档用UltraEdit打开,然后选择 文件>>转换>>Dos转Unix就OK了。这是Dos系统转化为Unix系统格式的方案,如果你想转成Mac系统合用的话那就转化为相应的格式的就OK了。