彻底解决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编码

image-20211108174953087

-Dfile.encoding=utf-8

image-20211108175158041

image-20211108175848136

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>
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐