• 解决idea下tomcat乱码


    说明

    系统:win10家庭版

    环境:tomcat7+jdk8+idea2019.3

    目标:idea下的 Server,Tomcat Localhost Log, Tomcat Catalina Log,以及本地生成的日志文件输出的中文都不会乱码

    场景回顾:从服务器上拉下来的代码编码格式是 UTF-8 的,idea通过Settings-》Editor-》File Encodings全部都设置为了UTF-8,之后启动tomcat后,发现Tomcat Catalina Log面板中涉及中文字符的全部都乱码了。网上看了好多篇博客,解决方法无非就是下面几种!

    1、在IDEA中打开 Tomcat配置页面,在VM option 项中加入**-Dfile.encoding=UTF-8**

    2、你自己的Tomcat目录下的-》conf-》logging.properties这个文件,把一些或者全部都改成GBK编码(这里说明一下:这里改编码确实能一定程度解决问题,我在这里盘旋了很久,因为有些博客叫我一部分改成GBK有一些又叫我全部改成GBK,这里修改不同的地方影响的不同。但是这些都不能完全解决上面说的那4个地方全部不会乱码)

    3、修改idea安装目录-》bin下两个文件【idea64.exe.vmoptions】【idea.exe.vmoptions】

    在后面加上

    -Dfile.encoding=UTF-8

    或者 这两个

    -Dfile.encoding=UTF-8
    -Dconsole.encoding=UTF-8

    4、在idea的tomcat配置那-》Startup/Connection那一栏最底下添加几个参数

    name value

    JAVA_OPTS -Dfile.encoding=UTF-8

    JAVA_TOOL_OPTIONS -Dfile.encoding=UTF-8

    以上那么多种方式,我全部都试过了。但是那4处地方,总有几个地方还是会乱码!!!

    解决思路

    上面说的那些方式,第二种是有效果的。但是你会发现输出到日志文件乱码了。因为你毕竟tomcat配置log那设置了GBK了。这铁定会导致乱码的,所以解决思路就是全部东西统一弄成UTF-8不就好了。但是问题是上面如果全部都设置成了UTF-8。你会发现还是不起作用。明明都在idea配置文件中都指定输出格式为UTF-8了为什么还不行?原因就是你设置的这两个文件【idea64.exe.vmoptions】【idea.exe.vmoptions】他不是你正在使用环境的配置文件。你如果要设置你正在使用环境的配置。你应该要去idea-》Help-》Edit Custom VM Options这里面去设置(如下图)

    在这个文件中添加以下这一行(tomcat那边的配置文件全部改成UTF-8【默认貌似也是那么设置】)

    -Dfile.encoding=UTF-8

    这时候,你再启动项目看看。Server,Tomcat Localhost Log, Tomcat Catalina Log,以及本地生成的日志文件中文都显示正常了!

    参考链接

    https://blog.csdn.net/qin904863396/article/details/105839014

  • 相关阅读:
    最小二乘法
    初识HashMap
    PHP:laravel中间件和控制器的请求参数传递与获取
    【异常】理解Java中的异常处理机制
    嵌入式物联网实战开发笔记-乐鑫ESP32开发环境ESP-IDF搭建【doc.yotill.com】
    使用Matlab生成可供TMS320C6748开发板使用的算法
    Java根据一个List内Object的两个字段去重
    C++ Reference: Standard C++ Library reference: C Library: cstring: strcpy
    《最新出炉》系列入门篇-Python+Playwright自动化测试-50-滚动条操作
    GAMES101复习:光栅化
  • 原文地址:https://blog.csdn.net/m0_67393039/article/details/126616610