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

Java | POST请求,响应中文乱码处理 老生常谈-关于POST请求中文乱码问题 阅读详情

 

作为java程序员,中文的乱码问题会经常碰到。过去的一个项目,我碰到了各种类型的java乱码问题。先分享给大家:
 
1:网页Post请求,提交后,显示提交结果,乱码。
首先确定数据库的编码方式。这里我发现,如果数据库的编码不是UTF-8,Post请求也可以保证回显正确,但是有一个地方要注意。
如html中:
(1)<input type="text" name="num" value="${person.num}"/>
这时,value中的num中文会正常显示。
 
(2)<input type="text" name="num" value="<c:out value="${person.num}">"/>
这时,value中的Num中文不会显示,显示乱码。
这是因为jstl标签库的原因。
虽然(1)代码可以显示中文,但仍然推荐数据库编码改成UTF-8
 
2:网页get请求,提交后,显示乱码。
这个问题就比较复杂了。
解决方法可以分为两步,(我们首先做了第一部,解决了大部分问题,第二步是解决特殊问题)。
我们难免使用get请求提交,如果其中有中文,那么:
 
(1)Tomcat中:
找到 server.xml 中的
    <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />
以上方法是在网上找到的,我尝试了,起不到效果,但给了我们启发,我们如下做:
URIEncoding="UTF-8"
没想到成功了。我想这应该和我的操作系统的语言有关。我们是英文系统。
 
(2)这个是我为了解决一小部分(ajax和js动态生成的html)中提交中文问题,因为以上的方法都解决不了这个问题。我找到了如下类:
  
这个类在CSDN上可是要收5个资源点的。我给大家分享了。嘿嘿,多多来捧场啊。
只有类是不够的,我们的get请求需要用js赖提交,在提交前有如下操作:
...+"&PERSON="+escape(escape(persons))+...
这时提交的URL中的一部分:persons就是可能含有中文的部分。
在代码中: Escape.unescape(request.getParameter("PERSON")  来接受这个get请求。这样,基本所有的页面请求中文问题,就解决了。
(这篇文章是我在CTO的博客中也有的,不是盗版,是一个作者。)
Hypermesh静力学仿真分析与模态分析-02 hypermesh中对较复杂实体进行静力学分析模态分析,包含材料属性添加,载荷设置等等 阅读详情

相关推荐

工业级以太网通信实战:用FPGA驱动YT8531 PHY芯片的完整避坑指南

本文是一份针对工业级以太网通信的实战指南,详细讲解了如何使用FPGA驱动YT8531 PHY芯片。内容涵盖从硬件设计(电源、时钟、复位)到MDIO接口驱动开发、PHY配置与链路管理的全流程,并重点剖析了十个常见的开发“陷阱”及其解决方案,旨在帮助工程师在复杂的工业环境中实现稳定可靠的以太网通信连接。

weixin_29191669的博客 118

Kotlin原生AI Agent框架Koog:为JVM开发者打造类型安全、企业级智能体开发方案

AI Agent作为当前人工智能应用开发的核心范式,通过赋予大语言模型(LLM)自主规划、工具调用环境交互能力,正在重塑软件智能化进程。其技术原理基于智能体架构,通过提示工程、函数调用记忆机制,将LLM从单纯的文本生成器转变为能够执行复杂任务的工作流引擎。这一技术价值在于显著降低了构建智能应用的开发门槛,同时保持了高度的灵活性可扩展性。在实际应用场景中,AI Agent广泛落地于智能客服、代码助手、数据分析自动化等领域,成为连接大模型能力与具体业务需求的关键桥梁。本文聚焦的Koog框架,正是针对JVM

weixin_42594419的博客 375

【已解决java fluent Request.Post 请求解决中文乱码问题

【代码】【已解决java fluent Request.Post 请求解决中文乱码问题

weixin_69813315的博客 596

关于get请求乱码post方式不会乱码详解

1.post请求为什么不会乱码? jsp页面有pageEncoding="UTF-8",进行编码设置,服务端web.xml中有过滤器 org.springframework.web.filter.CharacterEncodingFilter进行request.setCharacterEncoding("utf-8")操作, 故在服务端获取的参数不会乱码。   2.get请求为什么会乱...

dianwu5的博客 1430

java post 中文乱码_java_完美解决GetPost请求中文乱码问题,对于Post请求,只需在Servlet或 - phpStudy...

完美解决GetPost请求中文乱码问题对于Post请求,只需在Servlet或者jsp中写入如下代码就可以把解决从表单中传入的中文乱码问题request.setCharacterEncoding("utf-8");而对于Get请求,因为请求参数会被附加到地址栏的URL之后,所以不能用上面的处理方法。应该这样:String str=request.getQueryString();//使用URL...

weixin_30026297的博客 323

java post解决中文_Java解决各种中文乱码问题1getpost请求

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

weixin_39866741的博客 667

java post请求乱码问题_Java各种中文乱码问题解决1getpost请求

public class Escape {private finalstatic String[] hex = { "00", "01", "02", "03", "04", "05","06", "07", "08", "09", "0A", "0B", "0C", "0D", "0E", "0F", "10","11", "12", "13", "14", "15", "16", "17", ...

weixin_30800961的博客 307

java get中文乱码_Java各种中文乱码问题解决1getpost请求

public class Escape {private final static String[] hex = { "00", "01", "02", "03", "04", "05","06", "07", "08", "09", "0A", "0B", "0C", "0D", "0E", "0F", "10","11", "12", "13", "14", "15", "16", "17",...

weixin_39564524的博客 220

java url 中文乱码问题_处理URL传递中文乱码问题

作者:肖文伟在网上搜了很多资料都没有搞定,一般都有以下几种说法:方法1:在后台中先获得字符串的iso-8859-1编码形式数组,再使用此数组实例一个UTF-8编码形式String类型字符串.页面提交的url为:leavesp?work=部门主管审批后台处理:String inStr=request.getParameter("work ");String outStr = new String(i...

weixin_42360972的博客 2267

Request请求参数中文乱码问题的处理

2.1.如果我们使用的是GET,那首先我们就要知道GET请求获取参数的方法是什么:在GET请求方式的底层使用的是getQueryString()方法来获取参数的,该方法在获取参数时会将中文字符通过url编码的方式先转换为二进制,然后再将每个字节转换为2个16进制数并在其前面加上%,编码了自然就需要解码,解码的过程是Tomcat来进行的url解码,此时Tomcat使用的字符集为ISO-8859-1;所以读中文数据时会乱码,这时我们就只需要将tomcat获取这个流时的编码换成UTF-8即可解决,

m0_73635673的博客 2685

请求参数中文乱码问题详细介绍

请求参数中文乱码问题详细介绍

weixin_45428910的博客 751

java w3c解析xml乱码_Java Web解决解析乱码响应乱码

packagecn.edu.aynu.rjxy.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletReques...

weixin_36444104的博客 107

关于中文乱码问题

对于java中的传值,一般是getpost方式;   对于get提交的中文乱码问题,即URL传值,如果参数有中文的话,可以这样转码: str = new String(str.getBytes("ISO8859-1"),"UTF-8");  对每一个中文的参数都做这样的转码即可;   对于post提交的话,可以这样转码: public void doPost(HttpServle...

yotion2的博客 138

java response 远程 乱码_java-response-乱码解决

(1)响应体设置文本获得字符流,通过字符流的(Strings)方法可以将字符串设置到response 缓冲区中,随后Tomcat会将response缓冲区中的内容组装成Http响应返回给浏览 器端。关于设置中文乱码问题原因:response缓冲区的默认编码是iso8859-1,此码表中没有中文,可以通过 response的(Stringcharset)设置response的编码但我...

weixin_36414864的博客 524

浏览器页面传值到服务器端中文乱码问题

需求: 在整个网站中,可能会有get请求post请求向服务器提交参数.参数中往往有中文信息.在后台每个Servlet中都需要去处理乱码.为了不用每个servlet都处理中文乱码,我们可以在filter中处理乱码问题。 分析: 首先请求的方式不同,处理的方式也不同: post请求:如果是post请求,只需调用request.setCharacterEncoding("utf-8")

a18826132770的博客 1434

HttpClient postget提交http

注:以下用的是commons-httpclient-3.1.jar,往后面的版本写法不一样。 post提交示例: /** * Url Post请求 * @param url url地址 * @param charset 字符编码 * @param params 参数 * @return */ public ...

beautiful0101的专栏 152

Request请求乱码问题

Request请求参数方法有俩种:doGet , doPost. 在这俩种方法中会出现中文乱码问题,列如: 在我输出中文信息时,控制台打印出乱码 然而解决方法很简单,在doGet中加入:request.setCharacterEncoding("UTF-8"); 但这只能使用在doGet方法中。 @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) th.

LXZ_1024的博客 1489

关于Servlet出现乱码问题

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33910137的博客 94
ddalei
博客等级 码龄18年 2粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值