文本文件 test.html 的内容只有一句话: 这里是日本的地方。
我用jsp读取后,替换掉里面的日本后生成一个新的 test1.html 文件.
jsp代码如下:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page language="java" %>
<%@ page import="java.io.*"%>
<%
String webroot=config.getServletContext().getRealPath("/");
String replace="中国";
String Str="",temp="";
try {
FileReader fr =new FileReader(webroot+"test.html");
BufferedReader bfr= new BufferedReader(fr);
while((temp=bfr.readLine())!=null){
Str+=temp+"\r\n";
}
fr.close();
Str=Str.replaceAll("日本",replace);
FileWriter fw =new FileWriter(webroot+"test1.html");
BufferedWriter bfw= new BufferedWriter(fw);
bfw.write(Str);
bfw.flush();
fw.close();
}catch (Exception e){
out.print(e.toString());
}
out.print("<br>"+Str);
%>
11 个解决方案
#1
不支持
#2
乱码,那就只好转码了,在不同操作系统下编码是一个让人讨厌的问题,建议做一个配置,用来设定是否进行转码操作
http://www.javayou.com
http://www.javayou.com
#3
liusoft(凤梨罐头) :
我也试图转码了.
我在 Str=Str.replaceAll("日本",replace); 这句的后面分别加了下面的其中一句,但在linux下还是都是乱吗,而在windows下也都变成乱吗了,怎么办????
Str = new String(Str.getBytes("ISO8859_1"),"GBK");
Str = new String(Str.getBytes("ISO-8859-1"),"GBK");
Str = new String(Str.getBytes("GBK"),"ISO-8859-1");
Str = new String(Str.getBytes("GBK"),"ISO8859_1");
我也试图转码了.
我在 Str=Str.replaceAll("日本",replace); 这句的后面分别加了下面的其中一句,但在linux下还是都是乱吗,而在windows下也都变成乱吗了,怎么办????
Str = new String(Str.getBytes("ISO8859_1"),"GBK");
Str = new String(Str.getBytes("ISO-8859-1"),"GBK");
Str = new String(Str.getBytes("GBK"),"ISO-8859-1");
Str = new String(Str.getBytes("GBK"),"ISO8859_1");
#4
补充一句,我用的jsp容器是 tomcat 5.0.25 和 tomcat 5.0.27
#5
本来linux就不支持中文的,唯一的办法就是转码
应该不会有什么问题的
实现不行你用字节流来读吧!
#6
liusoft(凤梨罐头) : 应该怎么样转码?
wubai250(wubai): 你能给段代码吧,我也遇到同样的问题.
wubai250(wubai): 你能给段代码吧,我也遇到同样的问题.
#7
我以前是,试了n种转码方法也不行,只好放弃
建议楼主采取字节流读的方法试试
建议楼主采取字节流读的方法试试
#8
是的,我最后采用字节流读的方法,成功了.
#9
支持!
#10
给大家贴出来看看那!
#11
字节流应该可以吧
我以前用过
但是Linux下没有试过
我以前用过
但是Linux下没有试过
#1
不支持
#2
乱码,那就只好转码了,在不同操作系统下编码是一个让人讨厌的问题,建议做一个配置,用来设定是否进行转码操作
http://www.javayou.com
http://www.javayou.com
#3
liusoft(凤梨罐头) :
我也试图转码了.
我在 Str=Str.replaceAll("日本",replace); 这句的后面分别加了下面的其中一句,但在linux下还是都是乱吗,而在windows下也都变成乱吗了,怎么办????
Str = new String(Str.getBytes("ISO8859_1"),"GBK");
Str = new String(Str.getBytes("ISO-8859-1"),"GBK");
Str = new String(Str.getBytes("GBK"),"ISO-8859-1");
Str = new String(Str.getBytes("GBK"),"ISO8859_1");
我也试图转码了.
我在 Str=Str.replaceAll("日本",replace); 这句的后面分别加了下面的其中一句,但在linux下还是都是乱吗,而在windows下也都变成乱吗了,怎么办????
Str = new String(Str.getBytes("ISO8859_1"),"GBK");
Str = new String(Str.getBytes("ISO-8859-1"),"GBK");
Str = new String(Str.getBytes("GBK"),"ISO-8859-1");
Str = new String(Str.getBytes("GBK"),"ISO8859_1");
#4
补充一句,我用的jsp容器是 tomcat 5.0.25 和 tomcat 5.0.27
#5
本来linux就不支持中文的,唯一的办法就是转码
应该不会有什么问题的
实现不行你用字节流来读吧!
#6
liusoft(凤梨罐头) : 应该怎么样转码?
wubai250(wubai): 你能给段代码吧,我也遇到同样的问题.
wubai250(wubai): 你能给段代码吧,我也遇到同样的问题.
#7
我以前是,试了n种转码方法也不行,只好放弃
建议楼主采取字节流读的方法试试
建议楼主采取字节流读的方法试试
#8
是的,我最后采用字节流读的方法,成功了.
#9
支持!
#10
给大家贴出来看看那!
#11
字节流应该可以吧
我以前用过
但是Linux下没有试过
我以前用过
但是Linux下没有试过