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了。
如果在读取的时候出现乱码用第二种方法解决.