getRequestDispatcher调用html文件后产生中文乱码

在学习Java Web时,遇到通过getRequestDispatcher()调用HTML文件导致中文乱码的问题。尝试了多种解决方案,包括修改源代码的字符编码、调整IDE编码设置,但都未解决问题。最终通过在HTML文件中指定GBK编码成功解决了乱码,即在<head></head>之间添加<meta charset="GBK">。此方法适用于已经存在乱码的情况,若未出现乱码则不建议修改。对于该问题的原因仍有待深入理解,欢迎有同样问题的人一起讨论。
摘要由CSDN通过智能技术生成

刚刚开始java web的入门,其中产生不少令我困惑的地方。如标题,调用getRequestDispatcher()函数,参数为html文件后会产生中文乱码。
在这里插入图片描述

尝试过程中,参数文件后缀为.java却不会有乱码,唯独html的出现乱码,为此找了很多网上的教程,

第一类是补充以下这行代码:

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

亲测后发现没有解决我的问题。

第二类是调出你的代码工具IDE(我用的是neatbeans IDE),把编码方式改成GBK或者GB2312。

但是这种方法使得我所有写有中文的代码全部变成乱码,打开就出错,幸好之前备份了,所以这个方案一样不建议使用。

第三类就是我自己的土办法了。
打开getRequestDispatcher函数中调用的参数html文件,在里面< head > < /head>的中间增添一行:

<meta charset="GBK">

注意:如果之前写的是“UTF-8”的就不要添加了,直接改成“GBK”就行了。

下面是部分截图:

在这里插入图片描述
没改之前:

在这里插入图片描述
在这里插入图片描述

改成GBK之后:
在这里插入图片描述
在这里插入图片描述

下面是index.html的全部代码:

<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值