第一范文网 - 专业文章范例文档资料分享平台

getpost时中文乱码问题的解决办法

来源:用户分享 时间:2025/6/11 1:36:59 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

最近遇到一个问题:用get方法传递中文有问题,用post没有问题。 问题简单的描述是这样的:

\a>

这里userGroupName是中文

在userGroup.jsp页面得到的userGroupName却是乱码。 每个页面也都有<%@ page language=\说明。

后来上网找了一下才知道:pageEncoding这个只对post起作用。get方法提交时,大家可以从地址栏里看到提交的参数,这是因为get方法传递是作为报文头提交的,而pageEncoding对报文头是没有作用的,所以仍然按照 iso8859-1编码,才出现了刚才的乱码问题。而post提交的是form表单的内容,pageEncoding指定了它的编码,所以他会按照指定编码传递。

问题清楚了,下面就来解决它:

由于tomcat的servlet实现中ServletRequest.setCharacterEncoding方法未对HTP报文头的内容进行解码,因此

使用HTTP的GET方法提交的数据将不能正确的解码.解决方案为修改其

服务器的配置server.xml文件中对HTTP协议的

Connector配置,加上URIEncoding=\属性,配置完成以后\可能\的内容为

< Connector port=\

maxThreads=\enableLookups=\debug=\

disableUploadTimeout=\URIEncoding=\\大功告成! 2、文章2

表单提交中,method=\GET\为默认值,通过url提交过去,形式为:http://localhost:8081/test.jsp?username=bebe0453&password=082628&submit=è·??????

而 method=\POST\,则为隐式提交,在浏览器地址栏不会出现参数。 POST更加保密,且提交过去的容量更大,一般都采用POST提交。

3、文章3

在项目中,我们经常遇到需要在jsp页面切换中传递中文字符。这主要有两种方式。

1. URL方式,例如:http://website/test1.jsp?act=add&type=苹

果¶m= D B

2. FORM方式,例如:

我们将针对这两种情况,分别提供中文正确传递的解决方法。 情况1:URL方式

例如:http://website/test1.jsp?act=add&type=苹果¶m= D B

一般来说我们很少直接在URL里面把参数写成中文,如例子中的\苹果\这样传递。如果出现这种情况,在我们的接收参数的页面我们只需要做个简单的转换就可以了。 代码test1.jsp:(主要部分)

?

<%@ page language=\Encoding=\ <%

String type = request.getParameter(\ String result = new String(type.getBytes(\-1\

out.println(result); %>

更普遍的做法,就是对url中的中文字符进行编码,变成类似type= D B这样的字符。 代码MyJsp1.jsp:

<%@ page language=\b2312\

<%@ page import=\

综合文库

热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top