当前位置: 技术问答>java相关
急!!!jsp页面输出中文问题
来源: 互联网 发布时间:2015-04-07
本文导语: 本人以前使用jdk+jswdk制作的页面在NT和WinMe下都是正常的(把控制面板里的区域设置为美国英语),现要将其移植到WIN2000下,按原来方法却无法显示中文,只是显示许多问号,怎么办? | MyUtil...
本人以前使用jdk+jswdk制作的页面在NT和WinMe下都是正常的(把控制面板里的区域设置为美国英语),现要将其移植到WIN2000下,按原来方法却无法显示中文,只是显示许多问号,怎么办?
|
MyUtil 的作用是字符串之间的转换。必需关注的是JSP的字符串以Unicode码表示,而留言板界面的表单却是以 gb2312 码表示。所以将用户的留言写进数据库还需要码间的转换。如果不转换而把留言直接写到数据库表,则会产生乱码。下面是 MyUtil 的原代码,存于C:tomcatfoxWEB-INFclassesMyUtil.java ,编译后的MyUtil.class文件也存于此。
import java.io.*;
public class MyUtil{
public static String gb2312ToUnicode(String s){
try{
return new String(s.getBytes("ISO8859_1"),"gb2312");
}
catch(UnsupportedEncodingException uee){
return s;
}
}
public static String unicodeTogb2312(String s){
try{
return new String(s.getBytes("gb2312"),"ISO8859_1");
}
catch(UnsupportedEncodingException uee){
return s;
}
}
}
import java.io.*;
public class MyUtil{
public static String gb2312ToUnicode(String s){
try{
return new String(s.getBytes("ISO8859_1"),"gb2312");
}
catch(UnsupportedEncodingException uee){
return s;
}
}
public static String unicodeTogb2312(String s){
try{
return new String(s.getBytes("gb2312"),"ISO8859_1");
}
catch(UnsupportedEncodingException uee){
return s;
}
}
}
|
有四种方法,总有一种会成功的:
1,
2,在编译servlet和jsp时加入代码选项,编译servlet使用javac -encoding iso8859-1 servletname.java
在jsp的zone配置文件中,修改编译参数为:compiler = builtin-javac -encoding iso8859-1
3,在classpath中加入il8n.jar的路径
4,使用函数变换:
String temp_p = "aaa";
byte[]temp_t = temp_p.getBytes ("ISO8859-1");
String temp = new Sring (temp_t);
temp为最后的字体串。
1,
2,在编译servlet和jsp时加入代码选项,编译servlet使用javac -encoding iso8859-1 servletname.java
在jsp的zone配置文件中,修改编译参数为:compiler = builtin-javac -encoding iso8859-1
3,在classpath中加入il8n.jar的路径
4,使用函数变换:
String temp_p = "aaa";
byte[]temp_t = temp_p.getBytes ("ISO8859-1");
String temp = new Sring (temp_t);
temp为最后的字体串。
|
标题
如果这样写了还不能解决就可以试试小弟我这个内码转换函数:
public String getStr(String str)
{
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859_1");
String temp=new String(temp_t);
return temp;
}
catch (Exception e)
{
return null;
}
}
|
有这些就可以的!!!!
|
修改Servlet.jar中HttpUtil.java中的源代码
改为双字节处理
改为双字节处理