tomcat5.0.19 post和get 中文解决方法

DP_AUX辅助通道介绍 DisplayPort(简称DP)是一个由PC及芯片制造商联盟开发,视频电子标准协会(VESA)标准化的数字式视频接口标准。其中辅助通道(AUX)是一条独立双向半双工的传输通道,它也是一对差分信号线。其数据传输速率1Mbps,用来传输配置参数与指令。 阅读详情
首先摘录 $TOMCAT_HOME/webapps/tomcat-docs/config/http.html中的两个参数解释: URIEncoding:This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
useBodyEncodingForURI:This specifies if the encoding specified in contentType should be used for URI query parameters, instead of using the URIEncoding. This setting is present for compatibility with Tomcat 4.1.x, where the encoding specified in the contentType, or explicitely set using Request.setCharacterEncoding method was also used for the parameters from the URL. The default value is false.
上述二個 Tomcat 參数,是設定在 server.xml 中的 http 区域,要解决 QueryString 中文乱码的问題,你必須至少设定二个参数其中之一。 URIEncoding 请设定为URIEncoding="ISO-8859-1" 指定为"ISO-8859-1" 编码,让 QueryString 的字元编码和 post body 相同。 useBodyEncodingForURI 这是用來相容 Tomcat 4.x 版的,设定的值是 "true" or "false",意思是指 "要不要让 QueryString 与 POST BODY 用相同的字节编码 ?",若是设成 true,那也可达到 "ISO-8859-1" 编码的需求。 建议,用 URIEncoding 的设定,毕竟 useBodyEncodingForURI 的作法是为了相容 Tomcat 4.X。不过若照原文的說明,理论上这二个參数都不设,Tomcat 也该用 "ISO-8859-1" 的编码,那为什么是会有问题呢 ? 是因为 Tomcat Source Code 中关于 QueryString 程序的bug,所以,還是必須在 Server.xml 中,加上 URLEncoding 的參數設定才行哦。 Connector 的設定範例:
<Connector
debug="0"
acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
port="80"
redirectPort="8443"
enableLookups="false"
minSpareThreads="25"
maxSpareThreads="75"
maxThreads="150"
maxPostSize="0"
URIEncoding="ISO-8859-1"
>
</Connector>

 //注意,经过本人实验,设定URIEncoding="ISO-8859-1"后get方式依然是乱码,但是将其改为URIEncoding="gb2312"即可。
在這邊我做幾項補充 ... 一般說來,我們在使用 Tomcat 4 透過 GET or POST 的方式傳參數時,通常都是使用 Filter 的方式來解決中文傳參數的問題。 但是到了 Tomcat 5.0.19 之後,解決中文傳遞參數時,就必須考慮是使用 GET or POST,兩種解決的方式不一樣。 如果是使用 GET 的方式傳遞時,就如同 精靈 兄 的文章所述,或者使用 String name1 = new String((request.getParameter("name")).getBytes("ISO-8859-1"),"gb2312"); ;若是使用 POST 的方式時,就延用傳統一般解決中文的方式 request.setCharacterEncoding("Big5"); 不過當初我最後的做法是使用 Filter 的方式 Filter 的做法就是:先判斷是使用那種傳遞方式( GET or POST),假若是用 GET 的方式就採用第一種 code;若使用POST 方式,就採用第二種 code。

另外,解决post也可以使用filter来解决:
1 实现一个Filter.设置处理字符集为GBK。(在tomcat的webapps/servlet-examples目录有一个完整的例子。请参考web.xml和SetCharacterEncodingFilter的配置。)

首先在jsp页面上添加:<%@ page contentType="text/html;charset=gb2312"%>


1)只要把%TOMCAT安装目录%/ webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.class文件拷到你的webapp目录/filters下,如果没有filters目录,就创建一个。
2)在你的web.xml里加入如下几行:


<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

PyCharm安装PyQt5及工具(Qt Designer、PyUIC、PyRcc)详细教程来了 Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言Qt库的成功融合。这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的所有工具包,主要内容包括PyQt5、PyQt5-tools的依赖包安装Qt Designer、PyUIC、PyRcc三个工具的设置。最后简单演示了PyQt5的调用方式及三个工具的使用方法 阅读详情

相关推荐

从零到一:FAST_LIO与FAST_LIO2算法环境搭建与实战评测

本文详细介绍了FAST_LIO与FAST_LIO2算法的环境搭建与实战评测,包括算法原理、环境配置避坑指南、源码编译技巧及性能对比。FAST_LIO2凭借ikd-tree数据结构在动态环境中表现优异,处理速度提升至15ms,内存占用降低40%。文章还提供了常见问题排查进阶优化技巧,助力开发者高效实现SLAM应用。

weixin_29271053的博客 452

关于get方式提交中文乱码问题的解决方式

小呆呆兽

M11223344555的博客 1148

OpenCV自学记录(1)——(一拳超人)图像处理基础(图像获取、图像化)

学习深度学习进行图像分类目标检测时,要有一定的图像处理的基础。在学习深度学习之前,看了一本《图像处理技术基础》,现在也忘得差不多了,后悔当初没有整理记录下来。现在整理一下图像处理的常用方法,最后实现一个小项目——基于OpenCV的车牌号识别。 OpenCV自学记录(1)——图像处理基础(一)1、图像获取1.1获取图像数据1.2 获取摄像头图像数据2、图像化2.1 移动(translation)...

qq_40784418的博客 1435

为什么要encodeURI(url)两次才不会出现乱码?

因为Tomcat服务器会自动帮你做一次URLDecode,所以再加上你自己在代码里面写的URLDecode,一共就是两个Decode了,既然要两次Decode,当然就需要两次Encode了。或许你会问,干脆只Encode一次,然后在java代码里不Decode,呵呵,这个也是不行的,这其实也就是为什么要进行Encode的原因吧   -------------------------------...

蓝色天空 913

get方式提交中文到服务器显示乱码问题

在测试端口的时候直接在URL测试传入了中文参数,发现后台接收显示到的数据全部都是问号,中文乱码没跑了,调查后发现服务器如果没有配置好会导致如此问题, 服务器比如tomcat接收get方法默认使用的是ISO-8859-1编码,而浏览器发送时文字编码是页面编码保持一致的,所以后台给我们展示的字节就是一片乱码。 解决方法: 1.如果服务器是Tomcat的话在server.xml文件里 co

s624218090的博客 2161

get请求传中文的几种方法

&lt;1&gt;encodeURI与 decodeURI 应该是最常用的 encodeURI("啊哈嘿"); 结果为:%E5%95%8A%E5%93%88%E5%98%BF 百度搜索就是get请求,比如空格就是%20,多打几个空格搜索看看。 而且chrome+tomcat测试服务器接收自动转回来。 转移序列概念 &lt;2&gt; 修改服务器编码集(一劳永逸) Tomcat为例...

wolfies的博客 1万+

Tomcat 5.0.19 之后解决中文传递参数

一般说来,我们在使用 Tomcat 4 透过 GET or POST 的方式传参数时,通常都是使用 Filter 的方式来解决中文传参数的问题。 但是到了 Tomcat 5.0.19 之后,解决中文传递参数时,就必须考虑是使用 GET or POST,两种解决的方式不一样。 如果是使用 GET 的方式传递时,使用  1) 打开tomcat的server.xml文件,找到区块,加入如

身体健康的专栏 1326

get,post中文时的乱码解决方法

Tomcat   5.0.19   之后,解决中文传递参数时,就必须考虑是使用   GET   or   POST,两种解决的方式不一样。 如果是使用   GET   的方式传递时,使用 1)   打开tomcat的server.xml文件,找到 区块,加入如下一行:URIEncoding=”GBK”(或者UTF-8)    <Connector   port= "80 "    

699

tomcat乱码问题

解決 Tomcat 5.0.19 中文參數傳遞問題 [精華] 精靈 發文: 73 積分: 7 於 2004-04-14 02:07 <img alt="select and copy to clipboard.

Peter_K的专栏 3203

Java解决各种中文乱码问题(1)getpost请求

 作为java程序员,中文的乱码问题会经常碰到。过去的一个项目,我碰到了各种类型的java乱码问题。先分享给大家: 1:网页Post请求,提交后,显示提交结果,乱码。首先确定数据库的编码方式。这里我发现,如果数据库的编码不是UTF-8,Post请求也可以保证回显正确,但是有一个地方要注意。如html中:(1)这时,value中的num中文会正常显示。 (2)"/

ddalei的专栏 707

[转]解决Tomcat5.0.19中文参数传递的问题

作者:精灵发表日期:2004-04-14 02:07 原文:http://www.javaworld.com.tw/jute/post/view?bid=9&id=44042&sty=3&age=0&tpg=1&ppg=1#44042實際運用 Tomcat 5.0.19,我們了解在不修改 Tomcat 原始碼的狀況下,使用者透過 Form submit 的資料將一律以 ISO8859-1 處理

吕克让的资料库-lhelper's repository 1749

解決 Tomcat 5.0.19 中文參數傳遞問題

實際運用 Tomcat 5.0.19,我們了解在不修改 Tomcat 原始碼的狀況下,使用者透過 Form submit 的資料將一律以 ISO8859-1 處理,程式設計師必須自行將字串將轉換為 Big5(繁體中文) or GB2312/GBK(簡體中文),我們在應用程式中,對所有的 request.getParameter("xx"); 作了 toBig5String() 的處理,理論上,所有

sys53的之随想 947

解决Tomcat5.0.19中文参数传递的问题

作者:精灵发表日期:2004-04-14 02:07 原文:http://www.javaworld.com.tw/jute/post/view?bid=9&id=44042&sty=3&age=0&tpg=1&ppg=1#44042實際運用 Tomcat 5.0.19,我們了解在不修改 Tomcat 原始碼的狀況下,使用者透過 Form submit 的資料將一律以 ISO8859-1 處理

舞影零乱 Star's Blog 598

解決 Tomcat 5 中文参数提交问题

实际运用 Tomcat 5.0.19,我们了解在不修改 Tomcat 源代码的状况下,使用者透过 Form submit 的数据将一律以 ISO8859-1 处理,程序设计师必须自行将字符串将转换为 Big5(繁体中文) or GB2312/GBK(简体中文),我们在应用程序中,对所有的 request.getParameter("xx"); 作了 toBig5String() 的处理,理论上,所...

fantasyyong 136

Java各种中文乱码问题的解决(1)getpost请求

点击打开链接 &lt;--------------:转载地址 1:网页Post请求,提交后,显示提交结果,乱码。 首先确定数据库的编码方式。这里我发现,如果数据库的编码不是UTF-8,Post请求也可以保证回显正确,但是有一个地方要注意。 如html中: (1)&lt;input type="text" name="num" value="${person.num}"/&gt; 这时...

fuzhengliang的专栏 148

解决ajax get post方式提交中文参数乱码问题

最近在工作中遇到,使用ajax get方式提交中文参数的时候出现乱码,通过上网搜索,总结出比较简单的两种解决方案:   第一种,由于tomcat默认的字符集是ISO-8859-1,修改Tomcat中的server.xml,在port为8080(也可以是不同的端口)的Connector中加入属性:URIEncoding="UTF-8" 就可以了。 这样在ajax的url中参数...

weixin_30917213的博客 298

GET乱码

1 package six.four.five.web; 2 3 import javax.servlet.ServletException; 4 import javax.servlet.annotation.WebServlet; 5 import javax.servlet.http.HttpServlet; 6 import javax.servl...

99

Tomcat的URIEncoding

實際運用 Tomcat 5.0.19,我們了解在不修改 Tomcat 原始碼的狀況下,使用者透過 Form submit 的資料將一律以 ISO8859-1 處理,程式設計師必須自行將字串將轉換為 Big5(繁體中文) or GB2312/GBK(簡體中文),我們在應用程式中,對所有的 request.getParameter("xx"); 作了 toBig5String() 的處理,理論上,所有...

ppju 121

jsp中文问题的解决

實際運用 Tomcat 5.0.19,我們了解在不修改 Tomcat 原始碼的狀況下,使用者透過 Form submit 的資料將一律以 ISO8859-1 處理,程式設計師必須自行將字串將轉換為 Big5(繁體中文) or GB2312/GBK(簡體中文),我們在應用程式中,對所有的 request.getParameter("xx"); 作了 toBig5String() 的處理,理論上,所有...

InnocentBoy 122

2015年电赛综合测评(部分参数有写区别).ms14

2013年电赛综合测评题,有部分参数要求有区别,详细介绍见:https://blog.csdn.net/awangtianrui/article/details/108050428

桑叶病虫害检测数据集VOC+YOLO格式1787张6类别.7z

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件yolo格式txt文件)图片数量(jpg文件个数):1787标注数量(xml文件个数):1787标注数量(txt文件个数):1787标注类别数:6标注类别名称:["anthracnose","brown spot","epidemic","healthy","hsg","yj"]每个类别标注的框数:anthracnose 框数 = 621brown spot 框数 = 872epidemic 框数 = 322healthy 框数 = 672hsg 框数 = 168yj 框数 = 198总框数:2853使用标注工具:labelImg标注规则:对类别进行画矩形框重要说明:主要检测桑叶叶子病害或者叶子上的害虫特别声明:本数据集不对训练的模型或者权重文件精度作任何保证,数据集只提供准确且合理标注

上一篇: ant使用指南(转)
下一篇: tomcat连接池配置
tesge
博客等级 码龄23年 3粉丝 128原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值