在JSP网页上中文显示为???,用各位大虾提供的方法仍不能解决,还有其它办法吗?多多赐教!谢谢! 那你在数库中放的是中文吗????到数据库中看看??要是再不行,就升级tomcat吧。我用的4.0的,按上面的方法我使用中文没有问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不要areaname=new String(str.getBytes("ISO-8859-1"),"GB2312"); 建议用不用任何中文控制或转换中文参数的读取就不会有问题,数据库操作也不会有问题中文常量输出不要用out.print而用<%...%>显示中文<%...%> 我也是那样写的,没有错啊,不过你最好写个java程序转换,然后调用就可以了。public class ChineseConvert{ public void ChineseConvert(){ } public static String OracleToGb2312(String input_char){ String output_char=null; try{ output_char=new String(input_char.getBytes("8859_1"),"gb2312"); } catch(Exception e){ System.out.println(e); } finally{ return output_char; } }}然后调用这个类就可以了,只要在转换的时候,把要转换的字段前加上String name=ChineseConvert.OracleToGb2312(rs.getString("name")); Times2001,你好,我试过你的方法,还是不行。 曾经遇到过,tomcat + sqlserver2000不管怎么转,都是乱码,数据库中都是,累死个人换到resin,什么都没改,好了。现在放弃了tomcat了 看看你的IE--查看--编码 是否是简体中文(GB2312)? 我已经换了tomcat4.0.4,试了还是不行,准备换resin试试,另我的IE编码是简体中文(GB2312)的。 试试这个:在插入数据库前先将字符串str进行加密:java.net.URLEncoder.encode(String str);从数据库中取出时再解码:(可以先不加密,只解码,试一试;不行再加密)java.net.URLDecoder.decode(String str); 我的也是这样啊,在mysql数据库的命令行中用select查询出来的结果是中文的,但到了网页上旧成了?????????????问号!!!!!!!!! 数据库放进去要编码 写出来不要编码页面传递中文 传过去要url编码 接受要编码 写不要编码 over str = StringUtils.normalize(rs1.getString("areaname"));这样应该可以 将<%@ page contentType="text/html; charset=gb2312" %> 写成<%@ page contentType="text/html;charset=gb2312" %> 即去掉空格试试,我碰到过类是问题 如果数据库里的字符是乱码的话应该在存入数据库的时候也进行一次转换保存时:public String gb2unicode(String str) { try { str = new String(str.getBytes("GB2312"), "ISO8859_1"); } finally { return str; }}取出时:public String unicode2gb(String str) { try { str = new String(str.getBytes("ISO8859_1"), "GB2312"); } finally { return str; }} 菜鸟提问,不能使用tomcat J2EE做走势图 java程序生成缩略图(如何用java程序实现图片剪切功能?) 请教JSP网站上更换不同风格模板的功能是怎样实现的 验证码的一个问题 在tomcat下可以显示图片,在resin下不能显示图片! >>JSP如何判断来访页面?<< 迷茫中,寻求帮助,散分!!!! 如何将javascript变量值传给ASP变量,指点正确的将给出100分!!! 请教,欢迎讨论 spring事物a调用事物b的问题! 一个很郁闷的问题,请哪位高手帮忙,多谢了!! 最近在升级JDBC为2.0时遇到一问题,请高手指点一二
areaname=new String(str.getBytes("ISO-8859-1"),"GB2312");
中文参数的读取就不会有问题,数据库操作也不会有问题
中文常量输出不要用out.print
而用<%...%>显示中文<%...%>
java程序转换,然后调用就可以了。public class ChineseConvert{
public void ChineseConvert(){
}
public static String OracleToGb2312(String input_char){
String output_char=null;
try{
output_char=new String(input_char.getBytes("8859_1"),"gb2312");
}
catch(Exception e){
System.out.println(e);
}
finally{
return output_char;
}
}
}然后调用这个类就可以了,只要在转换的时候,把要转换的字段前加上String name=ChineseConvert.OracleToGb2312(rs.getString("name"));
我试过你的方法,还是不行。
不管怎么转,都是乱码,数据库中都是,累死个人
换到resin,什么都没改,好了。
现在放弃了tomcat了
在插入数据库前先将字符串str进行加密:
java.net.URLEncoder.encode(String str);
从数据库中取出时再解码:(可以先不加密,只解码,试一试;不行再加密)
java.net.URLDecoder.decode(String str);
页面传递中文 传过去要url编码 接受要编码 写不要编码 over
这样应该可以
<%@ page contentType="text/html;charset=gb2312" %> 即去掉空格
试试,我碰到过类是问题
保存时:
public String gb2unicode(String str) {
try {
str = new String(str.getBytes("GB2312"), "ISO8859_1");
} finally {
return str;
}
}
取出时:
public String unicode2gb(String str) {
try {
str = new String(str.getBytes("ISO8859_1"), "GB2312");
} finally {
return str;
}
}