IntelliJ IDEA 中输出乱码解决

最近tomcat突然在控制台输出乱码,各种乱码问题,查阅大量的资料,最终得以解决.

IDEA控制台输出乱码

问题一:idea中tomcat控制台输出乱码

  • 运行本地的tomcat\bin\start.bat文件页面显示正常
  • 在idea中显示乱码

解决:

根据网上查阅的资料,进行以下的尝试

1.修改windwos的默认编码格式

根据网上的资料,可能是windows的编码问题,于是乎;

cs 复制代码
chcp #查看当前cmd的编码格式
chcp 65001   #换成utf-8代码页
chcp 936       #换成默认的gbk
chcp 437       #美国英语

好像并没有啥用。。。。。<font color='red'>如果发现修改没有效果的小伙伴,在进行下一步尝试一定要先修改回去,再继续下面的尝试!</font>

2.idea中的修改

因为tomcat的start.bat文件输出并没有乱码,于是乎,我感觉是idea中的编码没有设置好,做出如下设置:Settings/Editor/File Encodings/设置编码格式为UTF-8

Help->Edit Customer VM Options

中添加:-Dfile.encoding=UTF-8

在java Complier中设置Additional command line parameters的值,
-encoding=UTF-8,很可惜还没生效

3.tomcat配置文件中修改

上述方案均尝试过了,任然没有解决我的问题;

于是乎:tomcat / conf / logging.properties下:

增加或修改参数 java.util.logging.ConsoleHandler.encoding = GBK

<font color='red'>如果你的控制台不是突然就出现乱码了,那么上述方式基本能解决你的问题。</font>

这里我发现我的环境是:此处已经是GBK了,于是乎控制台输出乱码的问题依旧没有解决,唉!

我稍微尝试了一下把此处的GBK修改为UTF-8,嘿!此时我的IDEA控制台输出乱码解决了!!!震惊!!!

但是!!!,我直接打开tomcat\bin\start.bat下的输出却出现了乱码!!我吐了,这两边的乱码不可兼顾。。。。。没办法,请教了老师,因为我的是突然出现的,应该是我不小心将哪里的编码修改了,我不知道。<font color='red'>这里提醒小伙伴修改后,发现不起作用一定要该回去,因为不知道底层的代码,只能这样慢慢尝试</font>

最后:重新安装了一个tomcat,问题解决了!!!,😵

IDEA中web项目静态资源页面乱码

问题二:HTML和JSP页面输出乱码


解决:

1.Html页面乱码:在head中加入:
html 复制代码
<META http-equiv=Content-Type content="text/html;charset=utf-8">
2.JSP页面中加入:
java 复制代码
<%home.php?mod=space&uid=402414 page contentType="text/html;charset=utf-8" language="java"%>
3.为解决页面数据传输中文问题,在web.xml中加入:
XML 复制代码
 <!--中文乱码过滤器-->
  <!--中文乱码过滤器-->
    <filter>
        <filter-name>encodingFilter</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>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
4.设置mysql编码为utf-8:
java 复制代码
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=UTF-8
5.设置tomcat编码:为解决以get方式提交的参数出现乱码,添加(只需要添加URIEncoding="UTF-8")
java 复制代码
<Connector port="8080" protocol="HTTP/1.1"   
              connectionTimeout="20000"   
              redirectPort="8443" URIEncoding="UTF-8" />  
<Connector port="8009" protocol="AJP/1.3"
              redirectPort="8443" 
               URIEncoding="UTF-8" />
6.针对IDEA的中tomcat server配置:

上述添加头部的编码等等,均没有解决问题;于是乎;

  • 在tomcat Server中设置 VM options , 值为-Dfile.encoding=UTF-8可惜没生效
  • 在tomcat Server中设置,有用JAVA_TOOL_OPTIONS=-Dfile.encoding\=UTF-8

    终于html输出正常了!!!
    但是如果我们每次启动不同的工程都需要配置,相当麻烦。。。
    最终:在tomcat\bin\catalina.bat文件中,添加:
    set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF8
相关推荐
琪露诺大湿3 天前
JavaEE-多线程初阶(5)
java·开发语言·jvm·java-ee·idea·多线程·基础
笑的像个child4 天前
IDEA优雅debug
java·ide·intellij-idea·idea
南慕小白6 天前
idea使用技巧和推荐插件
ide·idea
九转成圣8 天前
如何在 IntelliJ IDEA 中去掉 Java 方法注释后的空行
java·intellij-idea·idea·intellij idea
江梦寻9 天前
解决SLF4J: Class path contains multiple SLF4J bindings问题
java·开发语言·spring boot·后端·spring·intellij-idea·idea
羊小猪~~11 天前
C/C++语言基础--C++模板与元编程系列五(可变惨模板,形参包展开,折叠表达式)
java·c语言·开发语言·c++·vscode·idea·visual studio
Dreams°12311 天前
【ide使用技巧及插件推荐】
ide·idea
Dreams°12311 天前
【MacOS开发环境配置与应用开发--详细教程】
macos·编辑器·idea·xcode
江梦寻12 天前
SpringBoot项目编译报错 类文件具有错误的版本 61.0, 应为 52.0
java·spring boot·后端·学习·spring·intellij-idea·idea
三毛村滴雪鱼粉12 天前
IntelliJ Idea设置自定义快捷键
java·ide·intellij-idea·idea·intellij idea