表单数据返回中文乱码问题??? value = request.getParameter(name).getBytes("ISO-8859-1"),"GBK"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package beans ;public class ISOtoGB2312{ public String getConvert(String str) { try { byte[] byteStr=str.getBytes("ISO-8859-1"); return new String(byteStr,"gb2312"); } catch(Exception e) { return str; } }}这是一个经常遇到的问题,你可以写一个简单的javabean,以后在显示表单传递的中文数据时先转换一下!调用方式:<%@page contentType="text/html;charset=GB2312"language="java"import="java.util.Enumeration" %><jsp:useBean id="chage" scope="session" class="beans.ISOtoGB2312"/> //引用javabean<html><head><title>Value Of Name</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body bgcolor="#FFFFFF" text="#000000"><form name="form1" method="post" action=""> <!--定义表单数据--> <input type="hidden" name="隐藏域" value="值"> <input type="text" name="文本域"> <input type="submit" name="Submit" value="提交按钮"></form><p> <%//提取“名”集合Enumeration names = request.getParameterNames();String name,value;for(Enumeration e=names;e.hasMoreElements();){name = chage.getConvert(e.nextElement().toString());//调用javaBean的getConvert方法value = chage.getConvert(request.getParameter(name));out.println("<p>");out.println("'"+name+"'"+"的值是"+"'"+value+"'");out.println("</p>");}%></p></body></html>试试看!以后都可以使用这个JavaBean ! 通常把经常用的功能写成Javabean 是很方便的! 强烈推荐 通过javaBean得到的网页上中文信息转换一下编码就可以了 String s = new String(str.getBytes("ISO-8859-1"),"gb2312"); 首先谢谢各位!!! 我的jsp配置是java1.41+tomcat4.1to Wnyu(西门吹水) & Gulfing(心如止水) 我已经试过用你们的方法,不过在点击按钮后返回的页面是error report ,root cause是java.lang.NullPointerException, 请问如何解决?to seaman0916(沙漠孤鹰) 我也用过你的方法,我把class文件跟页面文件放在同一个文件夹,我也试过把class文件打包成jar文件,然后在环境变量classpath添加bean.jar所在的路径,但都是同一个错误package beans does not exist,请问如何是好?再次麻烦各位! 看一下这篇文章:http://www.clocksix.com/J2eeChinese 你定义一个METHOD加个方法:<%!public getStr(String str) throws Exception { String temp=str; byte[] temp_p=temp.getBytes("ISO-8859-1"); return new String(temp_p,"GBK");; }%>然后在插入数据库之前将有中文的变量用这个方法将变量转换一下:String text=null;if(request.getParameter("text")!=null&&request.getParameter("text")!=""){ text=getStr(request.getParameter("text")); } 在action.jsp中<%request.setCharacterEncoding("GBK");%> 加在接收变量的语句前就行了.一个jsp文件一句就行.注意在jdk 1.3之后才好用 to:seaman0916(沙漠孤鹰)结果为什么是这样的啊?'隐藏域'的值是'null' '文本域'的值是'null' 'Submit'的值是'提交按钮' public static String funToChinese(String strvalue) { try { if(strvalue==null) { return null; } else { strvalue = new String(strvalue.getBytes("ISO8859_1"),"GB2312"); return strvalue; } } catch(Exception e) { return null; } }在你的程序里加入这段代码,然后把你要引用的值通过funToChinaese()来转换试试看吧。应该没有问题的啦。 to:squallzeng(小呆呆)不加还好,加上的结果如下:'???'的值是'null' '???'的值是'null' 'Submit'的值是'????' 是不是你的运用写的不对呢?还有就是你的值应该先转换成String后再运用funToChinaese()才可以的啦。你再试试吧。应该没有问题的,我的都是这样实现的哦。 晕不知道你是怎么来测试的调式你的程序是完全正确的到是加了某些东西就是错误大大的害的搞古了半天我的jsp配置是java1.3.1(用的还是JB7里自带的)+weblogic6.1 脱离了java web的开发终于做出了决定,散分了! entityDao.getJdbcTemplate().execute(sql) 的问题?????? 怎样在web框架里面屏蔽右键?急! 问一个多线程的循环实现问题 Tomcat5.5加Hibernate配置数据连接池问题,在线等。。。。。。 高手帮帮忙,关于页面的自动跳转 请问商用jsp服务器多用的是什么?tomcat可以吗? 求乱码还原的解决方案 哪位高手做过分享一下哈。。。 rs.last() jsp开发遇到的问题 高手请进,关于动态发布的问题 onmouseup=myfunc(1),这里的 1 能用变量代替吗?
public class ISOtoGB2312
{
public String getConvert(String str)
{
try
{
byte[] byteStr=str.getBytes("ISO-8859-1");
return new String(byteStr,"gb2312");
}
catch(Exception e)
{
return str;
}
}
}这是一个经常遇到的问题,你可以写一个简单的javabean,以后在显示表单传递的中文数据时先转换一下!调用方式:<%@page contentType="text/html;charset=GB2312"language="java"import="java.util.Enumeration" %>
<jsp:useBean id="chage" scope="session" class="beans.ISOtoGB2312"/> //引用javabean<html>
<head>
<title>Value Of Name</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head><body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="">
<!--定义表单数据-->
<input type="hidden" name="隐藏域" value="值">
<input type="text" name="文本域">
<input type="submit" name="Submit" value="提交按钮">
</form>
<p>
<%
//提取“名”集合
Enumeration names = request.getParameterNames();
String name,value;
for(Enumeration e=names;e.hasMoreElements();)
{
name = chage.getConvert(e.nextElement().toString());//调用javaBean的getConvert方法
value = chage.getConvert(request.getParameter(name));
out.println("<p>");
out.println("'"+name+"'"+"的值是"+"'"+value+"'");
out.println("</p>");
}
%>
</p>
</body>
</html>
试试看!以后都可以使用这个JavaBean !
我已经试过用你们的方法,不过在点击按钮后返回的页面是error report ,root cause是java.lang.NullPointerException, 请问如何解决?to seaman0916(沙漠孤鹰)
我也用过你的方法,我把class文件跟页面文件放在同一个文件夹,我也试过把class文件打包成jar文件,然后在环境变量classpath添加bean.jar所在的路径,但都是同一个错误package beans does not exist,请问如何是好?再次麻烦各位!
加个方法:
<%!public getStr(String str) throws Exception
{
String temp=str;
byte[] temp_p=temp.getBytes("ISO-8859-1");
return new String(temp_p,"GBK");;
}
%>
然后在插入数据库之前将有中文的变量用这个方法将变量转换一下:
String text=null;
if(request.getParameter("text")!=null&&request.getParameter("text")!="")
{
text=getStr(request.getParameter("text"));
}
<%
request.setCharacterEncoding("GBK");
%>
结果为什么是这样的啊?'隐藏域'的值是'null' '文本域'的值是'null' 'Submit'的值是'提交按钮'
try
{
if(strvalue==null)
{
return null;
}
else
{
strvalue = new String(strvalue.getBytes("ISO8859_1"),"GB2312");
return strvalue;
}
}
catch(Exception e)
{
return null;
}
}
在你的程序里加入这段代码,然后把你要引用的值通过funToChinaese()来转换试试看吧。应该没有问题的啦。
不加还好,加上的结果如下:
'???'的值是'null' '???'的值是'null' 'Submit'的值是'????'
调式你的程序是完全正确的
到是加了某些东西就是错误大大的
害的搞古了半天
我的jsp配置是java1.3.1(用的还是JB7里自带的)+weblogic6.1