Mac Intellij 控制台乱码解决

摘要:
有机喷射膜。主意专家服务器RemoteMavenServer只有一个与编码相关的分析参数:-Dfile。encoding=MacRoman 2.2.系统语言:首先,如果系统语言设置为中文,则不会出现乱码问题。因此,互联网上大量重复文章的方法是将“FileEncoding”设置为GBK或GB2312。然而,由于IDE的原因,许多系统代码无法更改,因此直接忽略此方法-Dfile。encoding=UTF-8PS:此参数从12.1版开始默认添加。步骤2。不要认为问题已解决。事实上,它只完成了一半。因为它是运行WebServer时的乱码,所以WebServer的编码应该与IDEA的编码一致。这样,IDE的编码和WebServer输出的编码应该是一致的。

http://www.kafeitu.me/tools/2013/03/26/intellij-deal-chinese-disorderly-code.html

IntelliJ IDEA中文乱码解决办法

1. 预热

刚刚接触IntelliJ IDEA几天,在易用性方面的确比Eclipse好很多,比较智能,各种插件、工具都已经集成,和Mac OS X类似——开箱即用,并且在试用了之后在开源中国三折(后悔2折的时候没有下手)购买了授权。

但是还是老大难问题——中文乱码,让我不得不花费了一些时间去折腾它,这一点就不如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

免责声明:文章转载自《Mac Intellij 控制台乱码解决》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇jsp使用${}语法,对应的spring后台使用ModelVMnet1和VMnet8 未识别的网络的解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Mac下新建.开头的隐藏文件

Mac不能直接新建以“.”开头的文件 所以新建一个文件,在终端中修改名字。 使用mv current_file_name .modify_name  mv 当前文件名 要修改文件名 --------------------------------------- 如何正确的指定bower的安装目录 日常编程小技巧 在项目根下创建一个名为.bowerrc 的...

Unix,windows和Mac中的换行

Unix 系统里,每行结尾只有“<换行>”,即“ ”;Windows系统里面,每行结尾是“<换行><回车 >”,即“ ”;Mac系统里,每行结尾是“<回车>”,即" "。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开...

Mac OS X如何加入公司的windows domain(域)

以下略去Windows Active Directory的设置。假设Windows Active Directory已经设置好,此时。在Mac OS 10.4上: 1. 从应用程序(Applications)下的实用工具(Utilities)文件夹内,打开目录访问(Directory Access)。 2. 如果目录访问左下角的黄色锁标为上锁状态,双击该锁...

ES系列二、Mac 通过docker搭建ELK日志收集系统

一、ELK简介 Elasticsearch:用于存储收集到的日志信息; Logstash:用于监控,过滤,收集日志,SpringBoot应用整合了Logstash以后会把日志发送给Logstash, Logstash再把日志转发给Elasticsearch; Kibana:通过Web端的可视化界面来查看日志。 二、解决docker拉取镜像慢的问题...

(转)Linux修改eth2到eth0(70-persistent-net.rules)

之前在公司提供的虚拟机器上面,一直有个问题用着很不舒服,为什么它的IP选择的设备的eth2的,但是我在/etc/sysconfig/network-scrpts/下面也没有找到ifcfg-eth2的配置文件,这样子,我就没法修改IP了,也没法使用静态IP了,每次都是虚拟机动态分配的IP,这个太麻烦了。有时间解决了下这个问题。首先我声明下,我这里是用的NAT...

LINUX使用SSH远程终端时,如何将运行时间长的程序在后台挂起,下次SSH登陆时继续使用同一个SHELL?

我在某个平台上购买了一个云服务器,LINUX操作系统无图形化界面,硬盘空间较小。虽然在平台上可以通过其自带网页版VNC界面登陆SHELL进而操控云主机,但是每次需要操控都得打开网页登陆进平台,然后再进行一系列点击操作才能进入VNC界面,有点繁琐。并且有时出门在外,使用手机浏览器不是很好的兼容VNC界面,所以一般情况下我习惯于通过SSH客户端登陆SHELL。...