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了。