request.getRequestDispatcher("text.html").include(request, response);中文乱码问题

图片说明图片说明
图片说明

为啥我设置了编码字符集,还有在servlet中设置了服务器编码字符集还是出现了中文乱码,但是我删除了HTML中的charset=utf-8,结果中文乱码就好了,或者我在html中设置gbk以后,中文乱码的问题也解除了。我想不让charset=gbk也不将charset删除有什么办法吗。

这种问题出现的原理是什么?

感谢大佬们

可能是你那个 html 文件保存的编码格式不是 UTF-8 的,重新另存为一下试试。

web.xml配置中加上如下配置试试

<filter-mapping>
    <filter-name>myEncodingFilter</filter-name>
    <url-pattern>/</url-pattern>
</filter-mapping>
<filter>
    <filter-name>myEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>

或者查看浏览器的编码方式