zoukankan      html  css  js  c++  java
  • 以Get方式跟随URI传递中文参数在收端出现乱码

    内存条 发表于 2005-12-31 9:31:00
    最近遇到一个问题:用get方法传递中文有问题,用post没有问题。
    问题简单的描述是这样的:
    <a href="userGroup.jsp?userGroupName=<%=userGroupName%>">aa</a>
    这里userGroupName是中文

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

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

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

    由于tomcat的servlet实现中ServletRequest.setCharacterEncoding方法未对HTP报文头的内容进行解码,因此
    使用HTTP的GET方法提交的数据将不能正确的解码.解决方案为修改其服务器的配置server.xml文件中对HTTP协议的
    Connector配置,加上URIEncoding="GBK"属性,配置完成以后"可能"的内容为
    < Connector port="8080"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    debug="0" connectionTimeout="20000" 
    disableUploadTimeout="true" URIEncoding="GBK" /> 
    大功告成!!!! 

  • 相关阅读:
    智慧出行--maas
    hystrix动态修改参数
    hystrix元素详解
    hystrix讲解:熔断降级隔离以及合并请求
    幂等性概念
    设计模式之Command
    Unity AssetBundle工作流
    unity share current game screen
    `Facebook.Unity.Settings' has already been imported error solution
    IOException: win32 io returned 267. Path:
  • 原文地址:https://www.cnblogs.com/cy163/p/1298196.html
Copyright © 2011-2022 走看看