IntelliJ IDEA 控制台中文乱码
1. 预热
刚刚接触IntelliJ IDEA几天,在易用性方面的确比Eclipse好很多,比较智能,各种插件、工具都已经集成,和Mac OS X类似——开箱即用。
但是还是老大难问题——中文乱码,让我不得不花费了一些时间去折腾它,这一点就不如Eclipse了,没有遇到过乱码问题。
乱码问题表现在使用Web Server(Tomcat、Jetty)时输出日志或者直接System.out.println("中文字符")时会出现,如果仅仅执行类的main函数没有问题。
2. 环境
我针对乱码问题在不同的环境下进行了测试:
2.1. 系统语言:英文
我一直的习惯把系统语言设置为英文(强迫性记忆),这是第一次遇到乱码问题,分析了程序执行参数如下:
ps -ef | grep java
执行后得到如下的结果,省略了classpath:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -d64 -Djava.awt.headless=true -Xmx512m -Dfile.encoding=MacRoman -classpath … org.jetbrains.idea.maven.server.RemoteMavenServer
分析参数和编码有关的只有一个:
-Dfile.encoding=MacRoman
2.2. 系统语言:中文
先说明一下如果系统语言设置为中文是没有乱码问题的,所以网上大量的重复文章的办法是把"File Encoding"设置为GBK或者GB2312,但是很多系统的编码不可能因为一个IDE而更改编码,所以这种办法直接无视!!!
切换到中文语言后分析执行参数,和英文语言下不同的是:
-Dfile.encoding=GB2312
3. 解决办法
相信看完了分析已经知道如何解决问题了,因为MacRoman编码不包含中文所以会出现乱码,而设置系统语言为中文的时候系统默认设置为GB2312编码,所以编码问题自然就没有了。
3.1. 步骤一
和项目编码统一,更改IntelliJ IDEA启动时的编码参数即可,打开下面的配置文件:
/Applications/IntelliJ IDEA 12.app/Contents/Info.plist
在IntelliJ IDEA 12.app文件右键选择“Show Contents”即可看到Contents目录。
找到key等于VMOptions位置,这里设置的虚拟机的参数,在后面追加下面的参数保存文件。
-Dfile.encoding=UTF-8
PS:从12.1版本开始默认添加了这个参数
3.2. 步骤二
不要以为问题解决了,实际上只完成了一半,因为是运行Web Server时出现的乱码,所以Web Server的编码要和IDEA保持一致:

IDEA中设置Web Server的虚拟机编码
这样IDE的编码(控制台编码受IDE影响)和Web Server输出的编码一致问题解决。
启动Web Server之后再分析JVM的参数可以看到 -Dfile.encoding=UTF-8。
windows下改intellij安装目录下bin\idea.exe.vmoptions文件
如果以上中文还是乱码的问题:需要将原先的中文字符重新输一遍。
转自:http://www.kafeitu.me/tools/2013/03/26/intellij-deal-chinese-disorderly-code.html
如果是编辑器乱码的话
一、进入设置页。File-->Settings (快捷键:Ctrl+Alt+S)
二、进入IDE Settings,在File Encoding 中 的 Default encoding 改为 GB2312。
-Dfile.encoding=UTF-8
idea 要设置

IntelliJ IDEA 控制台中文乱码的更多相关文章
- Intellij IDEA 控制台中文乱码问题
如果Intellij IDEA 控制台出现中文乱码: 1.修改Intellij IDEA 配置文件: 在安装目录的bin文件夹里找到 idea.exe.vmoptions 和 idea64.exe.v ...
- 解决intellij idea控制台中文乱码
乱码原因: 1.系统语言:英文 英文系统下遇到乱码问题,分析了程序执行参数如下: ps -ef | grep java 执行后得到如下的结果,省略了classpath: /System/Library ...
- IntelliJ IDEA 控制台中文乱码解决方案
配置Intellij的配置文件(在idea安装目录bin目录下) 打开Intellij的根目录,找到下图的两个文件(根据你的系统是32位或64位选择其中一个配置文件),在配置文件中添加: -Dfile ...
- Intellij idea操作maven时控制台中文乱码
只留存记录 windows环境下,Intellij idea12中maven操作时,控制台中文乱码问题(编译报错或者clean install时出现的其他错误描述乱码) 在cmd中mvn中文正常显示, ...
- IDEA操作maven时控制台中文乱码
windows环境下,Intellij idea12中maven操作时,控制台中文乱码问题(编译报错或者clean install时出现的其他错误描述乱码) 在cmd中mvn中文正常显示,log4j打 ...
- pycharm控制台中文乱码问题
pycharm控制台中文乱码问题一般是因为之前有配置保存到了文件里, C盘下.pycharm文件夹下有配置文件,删除文件后重装pycharm,配置会重置 不过最后解决问题的做法是删除配置文件后,重新装 ...
- mac中的myeclipse的控制台中文乱码问题解决办法
之前写java用到控制台的主要是字符和数字,中文输入貌似真的还没用过,所以就遇到了一个悲剧的老问题,估计每个程序员都会遇到——中文乱码. 用的是MyEclipse开发环境,Window->Gen ...
- IDEA使用maven构建时控制台中文乱码的解决办法
使用maven clean install 项目时控制台中文乱码,解决办法如下: Setting->maven->runner VMoptions: -Dfile.encoding=UTF ...
- idea 控制台中文乱码
idea 控制台中文乱码,网上找了好多基本都是说在tomcat配置文件里面添加-Dfile.encoding=UTF-8 添加后依然乱码, 需要在idea64.exe.vmoptions文件中添加-D ...
随机推荐
- Git-ssh登录github
生成你的ssh-key $ ssh-keygen -t rsa -b 4096 -C "SaphhireCastle@163.com" 默认目录为:/Users/you/id_r ...
- JSP 基础之 JSTL <c:choose>用法 if else
<c:choose> <c:when test="${condition1}"> condition1为true </c:when> <c ...
- Tortoise svn 冲突解决主要办法
Tortoise svn 冲突解决主要办法 1.先备份自己的修改文件后,然后revert自己的更新内容,然后提交,再以更新后的代码为基准,将备份的代码移入进来.在这种方式下不需要使用svn resol ...
- k8s的网络学习
1.Kubernetes 网络模型 Kubernetes 采用的是基于扁平地址空间的网络模型,集群中的每个 Pod 都有自己的 IP 地址,Pod 之间不需要配置 NAT 就能直接通信.另外,同一个 ...
- 超详细saltstack安装部署及应用
1.环境准备 准备两台虚拟机 主机名 ip role linux-node1 10.0.0.7 master linux-node2 10.0.0.8 minion 在节点1上安装 master 和 ...
- pytest学习(2)
可以把多个test放在一个class里, class TestClass(object): def test_one(self): x = "this" assert 'h' in ...
- Redis数据类型的常用API以及使用场景
一.通用命令 1.keys 遍历出所有的key 一般不在生产环境使用 2.dbsize key的总数 3.exists key 4.del key 删除指定key-value 5.expire k ...
- (八)MySQL索引操作
(1)准备环境 mysql> create table t1(id int,name varchar(50)); mysql> \d $$ mysql> create procedu ...
- ubuntu下配置ProFtpd服务使用sqlite3作为后端用户认证
个人机器需要开个文件共享,Linux机器懒得配置SMB,就直接安装了ProFtpd,以做FTP服务器 Ubuntu安装挺简单,可使用就不那么友好了,配合GAdmin-Proftpd,一样不好用. 首先 ...
- USACO1.3.2修理牛棚
在学习一段时间贪心并写了一些贪心题之后,又一次看到了农夫和牛幸福美满的生活故事(雾).嘛,闲话少说,上题目 在一个暴风雨的夜晚,农民约翰的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满 ...