解决IDEA乱码问题

2022-03-29  本文已影响0人  开心的小哈

问题一、tomcat执行后控制台输出乱码

解决方案:在控制台输出
彻底解决Tomcat控制台输出中文乱码
1修改tomcat

tomcat根目录\conf的web.xml,在100行左右,改成

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>fileEncoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

tomcat根目录\conf的server.xml,在70行左右,改成

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />

2idea统一utf8编码


Pasted image 20220101141719.png

-Dfile.encoding=utf-8


Pasted image 20220101141728.png Pasted image 20220101141751.png

3spring自带乱码解决方案
在前面两种方法是过之后,我的控制台输出中文的时候还是乱码,于是在网上查阅资料,发现spring有自己的乱码解决方案,于是将下面的代码复制到web.xml中,乱码问题就解决了。

    <filter>
        <filter-name>encoding</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>
    </filter>
    <filter-mapping>
        <filter-name>encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

问题2 浏览器访问页面index.jsp出现乱码

Pasted image 20220102195903.png

解决方案

问题3 tomcat的doPost请求展示乱码

问题描述:服务器使用tomcat 收到客户端的post请求,因为传输的流所以在转译时中文会出现错误,对此解决方案采取在方法里设置流的编码
request.setCharacterEncoding("UTF-8");
访问的页面上如果时utf-8则这里设置utf-8即可;

上一篇 下一篇

猜你喜欢

热点阅读