请求参数中文乱码-POST解决方法

简介: 请求参数中文乱码-POST解决方法

1、使用get和post进行数据提交都会乱码

1.1 随便写一个表单

2、提交中文发现控制台乱了码

3、 request.setCharacterEncoding("UTF-8"); //定义字符流的编码规则,这种定义方法是用来解决,POST请求方法

4、如果表单发送的是get请求就不可以了

5、GET为什么不能解决中文乱码getQueryString,用的是这个方式,并没有走流

6、浏览器会对字符串进行一些编码处理

7、编码用的是UTF-8进行的规则解决

8、6 * 8 = 48个字节位

9、

10、浏览器帮忙转换

11、浏览器主动帮你转换数据

12、Java提供的URL编码规则:

13、六个%,URL编码规则

14、 演示了一下编码规则,URL变了码,又解了码

15、他们的相同点事相同的,他们的都是底层的2进程字节

16、这个decode就是乱码数据

17、字符串转换为字节数据

六个数组转换为6个字节

18、最终转换的十进制表现形式就是-119

19、我们可以看一下,这里怎样解决:

20、使用这种方法,可以将字节数组转换为字符串

new String(bytes ""); 这里可以放入一个字符数组

21、我重新拿到这一串二进制的数据

22、解决get提交,我们先对乱码进行编码,前面需要获取到一些数据

23、通过这两行代码,解决了中文乱码问题

1. byte[] bytes = username.getBytes(StandardCharsets.IS0_8859_1);
2. 
3. //3.2 字节数组解码
4. username = new String(bytes, StandardCharsets.UTF_8);

24、如果你想一行代码解决get提交问题,可以这样

username = new String(username.getBytes(StandardCharsets.IS0_8859_1),StandardCharsets.UTF_8);

先解码,在转码,核心操作逻辑,注意这种方法也可以解决post请求方式

相关文章
|
Java Android开发 p3c
Alibaba Java Coding Guidelines安装使用教程
Alibaba Java Coding Guidelines安装使用教程
14103 0
Alibaba Java Coding Guidelines安装使用教程
|
应用服务中间件
Request请求参数----中文乱码问题
Request请求参数----中文乱码问题
|
9月前
|
Ubuntu 安全 Java
Docker 拉取部署 OpenJDK 全指南:替代方案、实操步骤与最佳实践
本文详解Docker部署OpenJDK全流程:搭建环境、选择eclipse-temurin等替代镜像,避开已弃用的官方镜像,通过Dockerfile构建应用,配置JVM参数与容器资源限制,并提供最佳实践与问题排查方案,助力企业级Java应用高效、安全运行。
4818 2
|
JSON JavaScript 应用服务中间件
关于The valid characters are defined in RFC 7230 and RFC 3986问题
建议从目前的角度出发使用第三种方式降低tomcat版本就可以了,如果从长远出发的话,建议遵循RFC 7230 and RFC 3986规范,对于非保留字字符(json格式的请求参数)做转义操作。
2956 0
关于The valid characters are defined in RFC 7230 and RFC 3986问题
|
缓存 Java
java: 警告: 源发行版 17 需要目标发行版 17,java17 无效的目标发行
java: 警告: 源发行版 17 需要目标发行版 17,java17 无效的目标发行
15055 60
|
Linux Go
手把手教你在Linux上从零搭建Go语言开发环境
手把手教你在Linux上从零搭建Go语言开发环境
1917 0
springboot 各种文件下载方式(最全)
springboot 各种文件下载方式(最全)
6670 0
|
算法 Java 数据安全/隐私保护
国密加密算法简介
国密指国家密码局认定的国产密码算法,主要包括SM1、SM2、SM3、SM4等,并持续完善。SM1是对称加密算法,加密强度与AES相当,需加密芯片支持;SM2是非对称加密,基于ECC算法,签名和密钥生成速度优于RSA;SM3为杂凑算法,安全性高于MD5;SM4为对称加密算法,用于无线局域网标准。本文提供使用Java和SpringBoot实现SM2和SM4加密的示例代码及依赖配置。更多国密算法标准可参考国家密码局官网。
4604 2
|
存储 关系型数据库 MySQL
在 MySQL 中使用 Insert Into Select
【8月更文挑战第11天】
8237 0
在 MySQL 中使用 Insert Into Select
Vue3标签页(Tabs)
该组件提供可自定义的标签页功能,支持居中显示、不同尺寸与样式,并能设置当前激活选项。其主要属性包括标签页数组、居中显示、尺寸、样式、间隙及激活键值。示例展示了基本使用、卡片式标签页、禁用选项、左右滑动等功能。组件基于Vue3开发,并利用`useResizeObserver`等技术实现。[在线预览](https://themusecatcher.github.io/vue-amazing-ui/guide/components/tabs.html)。
1419 0
Vue3标签页(Tabs)