Tomcat请求乱码(备忘)

   纠结了数日,终于搞定了乱码问题,归结是tomcat配置问题,在tomcat server.xml中有2个参数是配置编码的,一个是URIEncoding,另一个是useBodyEncodingForURI.

 

1. 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.

    参数值为字符集,比如"UTF-8"等,这个参数在对http-get请求时有效,很多时候get请求的乱码起源,就是来自这里.任何http-get请求首先经过tomcat进行编码,编码的字符集就是使用"URIEncoding",编码之后整理成httpServerRequest参数交付给application;如果自己的web application也使用了各种url编码(比如在web.xml中配置Filter等),仍然无法改变tomcat对查询字符串编码的结果.

 

2. 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 explicitly set using Request.setCharacterEncoding method was also used for the parameters from the URL. The default value is  false .

 

    参数值为"true"或"false",表示"是否使用contentType中的encoding方式对URI进行编码";如果为true,且http请求中,在contentType中指定了编码方式,那么将采用contentType的编码方式去解码url之后的查询参数,将忽略URIEncoding的配置.此参数仍然只对http-get请求有效,tomcat无需对post请求进行编码.

    所以在get请求时,如果contentType指定了编码方式,将会带来一定的问题(最大的问题就是,服务器端对查询字符串的编码方式无法统一),最后我决定让 useBodyEncodingForURI 参数保持默认(false):即所有的URL查询字符串的编码采用URIEncoding的参数(UTF-8),服务器端编码保持原来的统一方式.

 

<Connector port="8080" protocol="HTTP/1.1" 
    connectionTimeout="20000"  
    redirectPort="8443" 
    URIEncoding="utf-8"/>

 

VMware Converter 6.2.0保姆级教程:从物理机到ESXi主机的完整迁移指南(含常见错误排查) 本文提供VMware Converter 6.2.0从物理机迁移至ESXi主机的完整保姆级教程。详细解析了迁移前的环境规划、核心转换过程步骤、版本差异对比,并重点针对代理安装失败、任务卡顿、虚拟机无法启动等常见错误提供了实战排查与解决方案,确保P2V迁移顺利进行。 阅读详情

相关推荐

【Cadence】 ADS Dynamic Link使用教程

在Cadence617上使用ADS Dynamic Link

乾巽的博客 6074

[个人备忘] Tomcat 使用过程中的乱码问题

用的IDE为IntelliJ IDEA 首先配置IDEA的编码格式,全部设置成UTF-8 部署了JavaWeb程序后,Tomcat的乱码问题 一、控制台输出乱码 1.1 乱码界面 1.2 解决方案: 配置Tomcat 安装目录conf 文件夹下的logging.properties 文件 由于编码格式都是 GBK 所以都修改成了 UTF-8 个人以为控制台的三个输出窗口对应的是下面的 catalina, localhost, ConsoleHan...

Monoder的博客 363

大模型训练(1):流水线并行

Gpipe的方法是,在训练时计算和运用的是micro-batch里的均值和方差,但同时持续追踪全部mini-batch的移动平均和方差,以便在测试阶段进行使用。流水线并行的核心思想是:在模型并行的基础上,进一步引入数据并行的办法,即把原先的数据再划分成若干个更小的batch,分批送入GPU进行训练,算一部分就让下一个GPU动起来。从实验结果可知,在关掉NVlinks的情况下,Gpipe一样也能实现随着GPU数量的增加,训练速度也增加的效果。前文说过,随着模型的增加,每块GPU中存储的中间结果也会越大。

呆呆象呆呆的博客 1970

【入门备忘录】tomcat常见乱码问题

一、Get方式乱码 常见解决方法: 一、修改server.xml,加入URIEncoding="UTF-8" 二、转码【不推荐使用,控制层方法太多要改死人】 <Connector port="9007" protocol="AJP/1.3" redirectPort="8443" maxPostSize="0" URIEncoding="UTF-8" useBodyEncodi

nheng的专栏 310

QTableView实现表格加载百万条数据

本文介绍用QTableView实现加载100万条数据显示到表格。 1.创建工程 用Qt Creator创建Qt Widgets Application项目,基类选择QWidget,创建好了,如图: 2.添加QTableView控件 在widget.ui中添加QTableView控件,和QPushButton,采用栅格布局,如图: 3.添加函数 头文件 QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE class Wid

丁爸的博客 8271

SystemVue 链路预算、仿真分析步骤

使用SystemVue进行链路预算、频谱分析等,相对ADS更全面。

BeCourageable的博客 3834

URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别及CharacterEncodingFilter(备忘)

大家知道tomcat5.0开始,对网页的中文字符的post或者get,经常会出现乱码现象。 具体是因为Tomcat默认是按ISO-8859-1进行URL解码,ISO-8859-1并未包括中文字符,这样的话中文字符肯定就不能被正确解析了。 常见的解决方法是在tomcat的server.xml下的connetor属性中增加URIEncoding或者useBodyEncodingForURI

易的专栏 1万+

Claude Code 错误解决方案: Request Timed Out 超时 原因、配置与解决方案

Claude Code 抛出 Request Timed Out 不仅可 能是网络问题,更大概率是 API 高负载或超大响应导致。本文从 默认超时机制出发,拆解三种根因场景,给出 API_TIMEOUT_MS 环境变量调优与任务拆分策略,帮助开发者在保证稳定性的同时 避免误判网络故障。

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 899

tomcat乱码问题解决

tomcat乱码问题解决

weixin_46246967的博客 79

SolidWorks 小车底盘 装配体

通过制作小车底盘了解solidworks装配体的部分知识

及时总结 2228

ITKMontage---ITK自动拼接模块

本文分享ITK中Remote中的ITKMontage拼接模块,希望对各位小伙伴有所帮助!1. ITKMontage介绍在医疗图像处理过程中,图像拼接有很多用处,比如DR图像的拼接。ITKMontage可以快速稳定的处理数据量较大的拼接图像。强度不均匀性校正配准全局优化融合2. ITKMontage安装ITKMontageITKMontage可脱离ITK进行单独安装,也可在ITK安装时作为模块进行安装。单独安装ITK模块安装在ITK编译时,选择ITKMontage模块。

qq_40041064的博客 450

Tomcat7以前的版本乱码问题

Tomcat7及以前的版本乱码问题 URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别及CharacterEncodingFilter(备忘) 大家知道tomcat5.0开始,对网页的中文字符的post或者get,经常会出现乱码现象。 具体是因为Tomcat默认是按ISO-8859-1进行URL解码,ISO-8859-1并未包括中文字符,这样...

FreE’ 可乐 594

315、弱电基础知识介绍

常见的弱电系统包括:闭路电视监控系统、防盗报警系统、门禁系统、电子巡更系统、停车场管理系统、可视对讲系统、家庭智能化系统及安防系统、背景音乐系 统、LED显示系统、等离子拼接屏系统、DLP大屏系统、三表抄送系统、楼宇自控系统、防雷与接地系统、寻呼对讲及专业对讲系统、弱电管道系统、UPS不 间断电源系统、机房系统、综合布线系统、计算机局域网系统、物业管理系统、多功能会议室系统、有线电视系统、卫星电视系统、卫星通讯系统、消防系统、电话 通讯系统、酒店管理系统、视频点播系统、人力资源管理系统等等。

qq_43416206的博客 1365

tomcat配置解决乱码问题

tomcat配置解决乱码问题

qq_38472535的博客 109

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

IDEA下tomcat启动后 server乱码,Tomcat Catalina Log乱码问题的解决

IDEA下tomcat启动后 server乱码,Tomcat Catalina Log乱码问题的解决

qq_38472465的博客 76

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

TOMCAT启动汉字乱码解决方案

TOMCAT启动汉字乱码解决方案

Littleree的博客 119

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

useBodyEncodingForURI=“true“解决Tomcat乱码问题

useBodyEncodingForURI="true"解决Tomcat乱码问题

10年职场两茫茫,35岁凄凉奈若何 273

windows 配置jdk 以及Tomcat 方法备忘及遇到的问题总结

jdk下载网址:https://www.oracle.com/index.html tomcat下载网址:https://tomcat.apache.org/ 一、jdk安装 先安装jdk,根据自己需求安装,安装后需要配置环境,右键我的电脑—属性----高级系统----环境变量 (1)点击系统变量下面的新建按钮,变量名JAVA_HOME(代表你的JDK安装路径),变量值对应的是你的JDK的安装路径。例:C:\Program Files\Java\jdk-16....

agoutou123456的博客 388

解决tomcat启动控制台输出中文乱码问题

解决tomcat启动控制台输出中文乱码问题

qq_38472465的博客 68

tomcat启动命令行窗口出现乱码的解决方法

tomcat启动命令行窗口出现乱码的解决方法

asdfgh0077的博客 181

(备忘)tomcat处理url参数中文乱码问题

tomcat在处理url参数时,默认是以ISO-8859-1字符集处理的,网上有很多人提出用String str = new String(request.getParameter("name").getBytes("ISO8859-1"),"utf-8");方式处理. 但这种方式很麻烦,用过滤器统一处理又更改不了request中的参数.难道要我每个servlet都去处理么? 所以我极力不推荐

jinciyulang的专栏 1057

JAVA Web项目开发乱码问题备忘

每次做中文项目时,必定会遇到的一个问题,就是中文显示乱码问题,每次的解决方式都不太相同。这次将GK项目过程中遇到乱码问题及解决方式记录下来,以备忘。乱码的可以有多个环节,如页面提交到tomcat乱码,tomcat到数据库乱码,数据库提取显示乱码。 一、页面提交到tomcat乱码解决方法是在tomcat/conf/server.xml中进行配置,以tomcat6.0.32为例,需将以下代码: &...

iteye_10301的博客 150

JSP备忘录01-Tomcat

JSP开发Tomcat在eclipse的配置。

备忘录的博客 252

Tomcat中文备忘

在此只是作为一个备忘录,以备忘记的时候,过来查查: [list] [*]query-string乱码情况,只需要在server.xml文件,找到相应的区块,加入如下:URIEncoding='UTF-8' [*]post的情况,需要自己新增一个Filter,将webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterE...

lovec的专栏 114

Tomcat 日志打印乱码解决方法

Tomcat 日志打印乱码解决方法

wangchaoqi1985的博客 132
上一篇: "一致性hash"算法与server列表维护(备忘)
下一篇: Tomcat中Connector常用配置(备忘)
iteye_19607
博客等级 码龄8年 34粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值