jsp页面中传参数的问题 你应该在每一个页面都设置语言变量呀<%@ charset="gb2312" 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 接收参数之前request.setCharacterEncoding("gb2312") ; <%!public String getstr(String str){try{ String temp1 = str; byte temp2[] = temp1.getBytes("ISO8859-1"); String temp3 = new String(temp2); return temp3; }catch(Exception e) { e.printStackTrace(); } return "null";}%>转换就行了 从b.jsp中接收时先转化成GBK,然后response时先将变量进行urlencoding编码转化,最后在singer_result.jsp中再转化成GBK,你就可以得到中文,试一试吧,应该没有问题。注意,每一个页面都设置语言变量<%@ charset="GBK"%> 楼主的web服务器如果是Tomcat那么需要:打开tomcat的server.xml文件,找到区块,加入如下一行:URIEncoding=”GBK”完整的应如下:<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>这样你的所有get方法就可以传递中文参数了! 接收前(servlet):request.setCharacterEncoding("GBK");接受后(jsp中):<%@ page contentType="text/html; charset=GBK" %><meta http-equiv="Content-Type" content="text/html; charset=GBK"> public static String ex_chinese(String str){ if(str==null){ str ="" ; } else{ try { str = new String(str.getBytes("iso-8859-1"),"gb2312") ; } catch (Exception ex) { } } return str ; }public static String toReChinese(String pstrWord) throws java.io.UnsupportedEncodingException { if ((pstrWord != null) && (!pstrWord.equals(""))) { pstrWord = new String(pstrWord.getBytes("GBK"), "ISO8859_1"); return pstrWord; } return ""; }调用这两个方法试试,其中一个肯定行的,在接收参数的时候用其中一个方法对参数进行转化。 我从一个a.jsp页面上用form提交的方式提交了一个参数,我在b.jsp页面接收过来打印出来就是中文,后然后再用response.sendRedirect("singer_result.jsp?type="+sType+"&name="+name);转向另外一个页面接收,不管我怎么转型,都是乱码, response.sendRedirect("singer_result.jsp?type="+java.net.URLEncoder.encode(sType)+"&name="+java.net.URLEncoder.encode(name));中文的转换一下 学习jsp遇到的一个小问题 timestamp从html:text中取值的问题 数据库里的二进制图片读取的问题 请求大家解答一下 [求助]怎样在网页中直接调用c++编写的软件 往session里设值得问题 如何在JavaBean中获得物理路径? 有谁能够提供http://www.xici.net/js/lrte.htm实现思路:分再加 jsp中按钮如何实现链接 以前做ASP.NET现在想学点JSP,如何入手,各位给点建议? java中如何取得7天前的日期? 如何在SSL模式下边实现级联? 关于分页处理的问题 在线等 急~~~~~~~~~~~~~~~~~~~~~~~~
public String getstr(String str)
{
try{
String temp1 = str;
byte temp2[] = temp1.getBytes("ISO8859-1");
String temp3 = new String(temp2);
return temp3;
}
catch(Exception e)
{
e.printStackTrace();
}
return "null";
}
%>
转换就行了
注意,每一个页面都设置语言变量
<%@ charset="GBK"%>
打开tomcat的server.xml文件,找到区块,加入如下一行:
URIEncoding=”GBK”
完整的应如下:<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="GBK"/>
这样你的所有get方法就可以传递中文参数了!
request.setCharacterEncoding("GBK");接受后(jsp中):<%@ page contentType="text/html; charset=GBK" %>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
if(str==null){
str ="" ;
}
else{
try {
str = new String(str.getBytes("iso-8859-1"),"gb2312") ;
}
catch (Exception ex) {
}
}
return str ;
}public static String toReChinese(String pstrWord) throws java.io.UnsupportedEncodingException
{
if ((pstrWord != null) && (!pstrWord.equals("")))
{
pstrWord = new String(pstrWord.getBytes("GBK"), "ISO8859_1");
return pstrWord;
}
return "";
}
调用这两个方法试试,其中一个肯定行的,在接收参数的时候用其中一个方法对参数进行转化。
response.sendRedirect("singer_result.jsp?type="+sType+"&name="+name);转向另外一个页面接收,不管我怎么转型,都是乱码,
中文的转换一下