在URL中的中文无法在另一个页面上正确赋值

来源:互联网 发布:简述网络舆情的特点 编辑:程序博客网 时间:2024/05/17 05:51

182176047 22:19:44
我页面的一个链接是index.jsp?name=java基础培训教程             传到另一个页面上用String   bookName=request。getParameter(“name”);进行赋值       并在前面用了 <%request.setCharacterEncoding("gbk");%>       进行编码的设置     但是当用 <%=bookName%> 进行页面输出时传过来的中文却不能显示     显示的是问号     请问各位高手如何解决??
    晨曦 22:24:19
response.setCharacterEncoding("gbk");
182176047 22:24:47
写在前一个页面中?
    晨曦 22:25:15
是JSP页面?
182176047 22:25:27
是啊
    晨曦 22:25:36
接收数据的是SERVLET还是JSP?
182176047 22:25:43
JSP
    晨曦 22:25:59
你是用TOMCAT吗?
182176047 22:26:10
是的   用的Tom5.5
    晨曦 22:26:10
在server.xml中设置一个URL编码
182176047 22:26:24
??   该怎么写呢?
    晨曦 22:32:20
<Connector port="8080"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000"
               disableUploadTimeout="true"
               URIEncoding="UTF-8"/>

    晨曦 22:32:36
URIEncoding="UTF-8",改为或gbk


 

(4)如果是通过"a.jsp?param=中文"传递参数,则需要:
a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);
取值用java.net.URLDncoder.dncode(param);再转回中文
b.在你的Tomcat目录-->conf目录-->server.xml里找出这段:

<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" <!--在里边加上这个参数-->URIEncoding="gb2312"
/>
(5)数据库乱码,首先确定你在插入数据库之前是中文,解决办法:

在数据库的数据库连接URL中加上useUnicode=true&characterEncoding=GBK就OK了。

如果在读取的时候出现乱码用第二种方法解决.