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,所以第二步就没出现乱码了
但是如果我们打开一个新的标签栏,然后去访问第二步的页面,还是会出现乱码
因此,第二步有时也是必要的,总之,把两边都设置一下应该就不会出啥问题了!
本文主要介绍了在Java Web开发中遇到的中文乱码问题及其解决方案。针对jsp页面和Servlet响应的乱码,分别提供了设置pageCharset和使用setCharacterEncoding方法的方法。同时强调,尽管在jsp中设置编码可以解决部分问题,但在新的浏览器标签页中访问时可能仍会出现乱码,因此建议在Servlet中也进行编码设置,或者采用全局过滤器来确保编码一致性。
2611

被折叠的 条评论
为什么被折叠?



