项目场景:

当我们需要使用idea后台输出一些中文变量进行调试时,这个bug就很麻烦


问题描述

在idea设置了UTF-8的编码,控制台输出的中文是乱码,但是当我们打印到网页中的中文是正常的

比如:

String user = req.getParameter("username");
String psw = req.getParameter("password");
System.out.println("User: " + user);

这是我们后台获取的输出(乱码状态): 这时输出的中文仍然是乱码
这是我们网页使用getWriter输出的(正常):在这里插入图片描述

原因分析:

这是因为我们没有对idea后台进行设置,所以导致了程序运行时的中文乱码问题:


解决方案:

参考了网络上的一些博客,问题终于得到解决,大致分为以下几步:

  • 1.设置字符编码为 UTF-8
    点击菜单 File -> settings -> Eitor -> File Encodings ,将字符全局编码、项目编码、配置文件编码统一设置为UTF-8,之后点击Apply,再点击OK。
    在这里插入图片描述
    1. 修改 IDEA 配置文件,让其支持中文编码
      上方导航栏“Help→Etit Custom VM Options…”进入自定义虚拟机选项页面,添加如下代码
    -Dfile.encoding=UTF-8
    
    在这里插入图片描述
  • 3.找到 IDEA 的安装目录,进入 /bin 文件夹,找到下面两个文件,同样添加如下代码:
    -Dfile.encoding=UTF-8
    

在这里插入图片描述

注意新版本的idea,只有一个idea64.exe.vmoptions,只需要对该配置文件修改即可。

    1. 将控制台底部设置为utf-8
      在这里插入图片描述
  • 5.修改Tomcat的编码
    • 在tomcat目录下apache-tomcat-9.0.93\conf\server.xml中,新增:URIEncoding=“UTF-8”
          <!--  增加URIEncoding="UTF-8" -->
      <Connector port="8080" protocol="HTTP/1.1"
             connectionTimeout="20000"
             redirectPort="8443"
             maxParameterCount="1000"
             URIEncoding="UTF-8" 
             />
      
    • 在Run/Debug Configurations中修改VM options
      在这里插入图片描述
    1. 相关配置修改完成后, 需重启 IDEA, 才能让设置生效 , 再次查看即可解决中文乱码问题
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐