java乱码的解决方式_java处理乱码的几种方法

64a48f0be557c99a6beb103824c75523.png

解决方式1(若乱码参数多,就比较低效)

浏览器默认编码为ISO-8859-1,后端Servlet接收请求参数,按照ISO-8859-1进行解码,得到二进制流,然后再用UTF-8编码。

示例代码:// 获得请求参数

String queryString = request.getQueryString();

// 按照ISO-8859-1方式解码

byte[] bytes = queryString.getBytes("ISO-8859-1");

// 按照UTF-8编码

String param = new String(bytes,"UTF-8");

解决方式2(此种方式只支持get方式请求)

修改服务器(tomcat)配置:在server.xml中,默认为ISO-8859-1(没有显示出来),我们可以添加上UTF-8

52f99fbbb8c90fdc9e00aca8c4c8fdb1.png

解决方式3(此种方式只支持post方式请求)

在servlet直接设置请求参数编码--推荐//设置请求参数编码

request.setCharacterEncoding("UTF-8");

响应乱码--响应// 设置MIME类型

response.setContentType("text/html");

// 设置编码

response.setCharacterEncoding("UTF-8");

//设置编码(简写)

response.setContentType("text/html;charset=utf-8");

更多java知识请关注java基础教程栏目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值