JavaWeb学习之MicrosoftEdge中文乱码的问题

本文主要介绍了在Java Web开发中遇到的中文乱码问题及其解决方案。针对jsp页面和Servlet响应的乱码,分别提供了设置pageCharset和使用setCharacterEncoding方法的方法。同时强调,尽管在jsp中设置编码可以解决部分问题,但在新的浏览器标签页中访问时可能仍会出现乱码,因此建议在Servlet中也进行编码设置,或者采用全局过滤器来确保编码一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.index.jsp页面的中文乱码

在这里插入图片描述

jsp页面的乱码问题特别好解决,在乱码的jsp文件中加入一行代码即可:

<%@ page  language="java" pageCharset="UTF-8" %>

在这里插入图片描述

2.resp.getWriter().print(“中文”);导致的乱码

在这里插入图片描述

其实这个也简单,在自己写的Servlet类实现类中设置一下req和resp就可以了:

// 解决中文乱码问题
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html");

在这里插入图片描述

当然,后续把这个写成一个过滤器,然后添加全局过滤更好

3.注意的问题

看起来,好像只要在第一步的jsp中设置了编码,就不会出现第二步的问题了
看起来好像是改jsp就能改resp的编码,实际上这是因为我们在同一个标签栏访问了这两个请求
而第一次请求使得该标签栏的编码改成了UTF-8,所以第二步就没出现乱码了
但是如果我们打开一个新的标签栏,然后去访问第二步的页面,还是会出现乱码
因此,第二步有时也是必要的,总之,把两边都设置一下应该就不会出啥问题了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值