关于JAVA IDE开发工具,Eclipse系列和Intelli IDEA是大部分公司的主要选择,从开发者的选择角度,Intellij IDEA似乎比Eclipse系列更受欢迎一些。当我们使用Intellij IDEA开发时,我们发现出现中文乱码问题,造成中文乱码的根本原因时开发工具和系统环境编码格式不匹配,本篇采用理论结合实际的角度,彻底解决该问题。

一  Intellij IDEA乱码问题重现

如下图所示,Intellij IDEA显示中文为乱码。

二  解决问题

(一)问题识别

根据Intellij IDEA控制台输出,Tomcat Catalina Log出现乱码,因此可以将问题定位到Tomcat上。那么,我们看看Tomcat控制台是否出现乱码。

果然,是Tomcat输出时出现问题。

(二)解决问题

1.查看系统编码格式,936代码GB格式

如下代码页和编码格式对应关系

  1. 代码页 国家(地区)或语言
  2. 437 美国
  3. 708 阿拉伯文(ASMO 708)
  4. 720 阿拉伯文(DOS)
  5. 850 多语言(拉丁文 I)
  6. 852 中欧(DOS) - 斯拉夫语(拉丁文 II)
  7. 855 西里尔文(俄语)
  8. 857 土耳其语
  9. 860 葡萄牙语
  10. 861 冰岛语
  11. 862 希伯来文(DOS)
  12. 863 加拿大 - 法语
  13. 865 日耳曼语
  14. 866 俄语 - 西里尔文(DOS)
  15. 869 现代希腊语
  16. 874 泰文(Windows)
  17. 932 日文(Shift-JIS)
  18. 936 中国 - 简体中文(GB2312)
  19. 949 韩文
  20. 950 繁体中文(Big5)
  21. 1200 Unicode
  22. 1201 Unicode (Big-Endian)
  23. 1250 中欧(Windows)
  24. 1251 西里尔文(Windows)
  25. 1252 西欧(Windows)
  26. 1253 希腊文(Windows)
  27. 1254 土耳其文(Windows)
  28. 1255 希伯来文(Windows)
  29. 1256 阿拉伯文(Windows)
  30. 1257 波罗的海文(Windows)
  31. 1258 越南文(Windows)
  32. 20866 西里尔文(KOI8-R)
  33. 21866 西里尔文(KOI8-U)
  34. 28592 中欧(ISO)
  35. 28593 拉丁文 3 (ISO)
  36. 28594 波罗的海文(ISO)
  37. 28595 西里尔文(ISO)
  38. 28596 阿拉伯文(ISO)
  39. 28597 希腊文(ISO)
  40. 28598 希伯来文(ISO-Visual)
  41. 38598 希伯来文(ISO-Logical)
  42. 50000 用户定义的
  43. 50001 自动选择
  44. 50220 日文(JIS)
  45. 50221 日文(JIS-允许一个字节的片假名)
  46. 50222 日文(JIS-允许一个字节的片假名 - SO/SI)
  47. 50225 韩文(ISO)
  48. 50932 日文(自动选择)
  49. 50949 韩文(自动选择)
  50. 51932 日文(EUC)
  51. 51949 韩文(EUC)
  52. 52936 简体中文(HZ)
  53. 65000 Unicode (UTF-7)
  54. 65001 Unicode (UTF-8)

2.解决Tomcat输出乱码问题

用Notepad++打开Tomcat安装源码conf文件夹下的logging.properties文件。

如下logging.properties文件内容,将下图标记的UTF-8改为GBK

如下为更换为GBK后的文件内容

3.重新启动Tomcat,乱码问题解决

4.再打卡Intellij IDEA,乱码问题已解决

三  拓展

网上有些博友提供了如下解决方法。

1.设置文件格式。File=>Settings=>Appearance&Behavior=>Appearance

2.删除idea文件夹下的encoding.xml文件除utf-8外的所有文件

3.设置Inllij idea文件编码格式,设置为UTF-8。File=>Settings=>Editor=>File Encodings

4.配置Tomcat VM options值为:-Dfile.encoding=UTF-8

5.打卡Intellij idea安装目录,在bin目录下的idea.exe.vmoptions和idea64.exe.vmoptions两个文件结尾添加

-Dfile.encoding=UTF-8

彻底解决Intellij IDEA中文乱码问题的更多相关文章

  1. 解决IntelliJ Idea中文乱码问题

    乱码的根源是字符编码与解码不一致 解决之道:统一编码

  2. Intellij output 中文乱码

    使用intellij有一段时间了,intellij output中文乱码,每次使用这两点解决,就可以解决乱码问题. 1.修改启动参数 修改安装Intellij目录下的C:\Program Files ...

  3. 教你解决Sublime Text中文乱码问题

    教你解决Sublime Text中文乱码问题[转载自成长的企鹅]       Sublime Text 2是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦. ...

  4. 分享一个解决MySQL写入中文乱码的方法

    分享一个解决MySQL写入中文乱码的方法 之前有发帖请教过如何解决MySQL写入中文乱码的问题.但没人会,或者是会的人不想回答.搜索网上的答案并尝试很多次无效,所以当时就因为这个乱码问题搁浅了一个软件 ...

  5. 完美解决Informix的中文乱码问题

    完美解决Informix的中文乱码问题  Informix是IBM旗下的一款数据库,要不是这个项目需要,估计这辈子我都不知道居然还有这么一款数据库.想来公司的项目遍布全国各地,各种部署环境各种应用场景 ...

  6. 使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)

    前述:      在写这篇笔记之前,对笔记中的设计模式进行介绍:      本篇笔记中将要使用到的设计模式是:装饰(包装)设计模式           (1)装饰(包装)设计模式口诀:         ...

  7. 解决Ubuntu系统中文乱码显示问题,终端打开文件及查看目录

    解决Ubuntu系统中文乱码显示问题 [日期:2014-02-20] 来源:Linux社区  作者:njchenyi [字体:大 中 小]   我是先安装了Ubuntu 12.04 Server,然后 ...

  8. gedit 没有preference项,使preference回归,并用命令行设置行号,解决centos7下中文乱码,text wrapping等问题

    1. 最简单的,使preference选项回来: gsettings set org.gnome.settings-daemon.plugins.xsettings overrides '@a{sv} ...

  9. 尚硅谷面试第一季-09SpringMVC中如何解决POST请求中文乱码问题GET的又如何处理呢

    目录结构: 关键代码: web.xml <filter> <filter-name>CharacterEncodingFilter</filter-name> &l ...

随机推荐

  1. springboot+jpa分库分表项目实例

    分库分表场景 关系型数据库本身比较容易成为系统瓶颈,单机存储容量.连接数.处理能力都有限.当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库.优化索引,做很多操作时性能仍下降严 ...

  2. python-13-集合增删查

    前言 集合:可变的数据类型,但元素必须是不可变的数据类型,无序不重复,既可哈希.所以python的集合是不能进行修改的,只有增删查.可哈希.不可变数据类型有:元组.bool.int.str 一.增 1 ...

  3. 遍历json数据的几种方式

    json(JavaScript Object Notation),json是一种多用于存储和交换文本信息的语法.他能够进行数据的传输,通常和ajax一起使用.它具有体积小.速度快,易解析等诸多优点. ...

  4. 2019-7-3-WPF-使用-Win2d-渲染

    原文:2019-7-3-WPF-使用-Win2d-渲染 title author date CreateTime categories WPF 使用 Win2d 渲染 lindexi 2019-07- ...

  5. python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝

    1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...

  6. php中搭建Web服务器和服务器配置

    1.搭建Web服务器     1.1目录结构 1.2访问服务器 访问规则:http://服务器ip地址/php页面 比如: http://localhost/demo.php http://127.0 ...

  7. C++ static静态成员

    01 基本概念 静态成员:在定义前面加了static关键词的成员. class A { public: A(int a, int b):m_a(a),m_b(b) { num += m_a + m_b ...

  8. Javase之多线程(1)

    多线程(1) 多线程的概述 了解多线程之前需要先了解线程,而线程依赖于进程而存在,所以先了解进程. 什么是进程 进程就是正在运行的程序.是系统进行资源分配和调用的独立单位.每一个进程都有它自己的内存空 ...

  9. CSS3 3D变形 transform---rotateX(), rotateY(), rotateZ(), 透视(perspective)

    2d x y 3d x y z 左手坐标系 伸出左手,让拇指和食指成“L”形,大拇指向右,食指向上,中指指向前方.这样我们就建立了一个左手坐标系,拇指.食指和中指分别代表X.Y.Z轴的正方向.如下图 ...

  10. Apache2 在Linux环境下的安装

    安装Apache2: apt-get install apache2 启动Apache2服务: service apache2 start 在终端运行启动后,打开浏览器URL访问 http://loc ...