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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么导出oracle库,【DG】怎么从Oracle备库导出数据

1、使用exp导出2、使用expdp导出若使用exp导出,则可以直接在备库执行导出动作。exp lhr/lhr buffer409600000 file/tmp/lhr.dmp log/tmp/lhr.log ownerlhrimp lhr/lhr buffer409600000 file/tmp/lhr.dmp log/tmp/lhrimp.log fully使用expdp导出先决条件:…

css background 一半_CSS小技巧

点击上方蓝字 关注我们左右布局将内部的子元素加浮动&#xff0c;父元素清除浮动即可。代码&#xff1a;DOCTYPE html><html><head><title>testtitle><style type"text/css"> .big{ width: 300px; heig…

rsoft透射谱_基于Rsoft软件光纤光栅的仿真模拟

​光纤光栅无论在光纤传感领域还是光纤激光器方面被大量研究&#xff0c;那么如何在没有进行实体实验的情况下来进行光纤光栅的模拟呢&#xff0c;本案例主要利用光波导Rsoft仿真软件对光纤光栅进行模拟分析研究。相信这种方法很实用哦。仿真优点&#xff1a;操作简便&#xff…

oracle 静态监听 端口,侦听动态注册静态注册local_listener参数端口PORT

之前都是网上看过整理的&#xff0c;今天看到local_listener竟然一点印象都没有&#xff0c;太恐怖&#xff0c;索性再好好整理一下&#xff0c;避免再次忘记。一&#xff0e;什么是注册注册就是将数据库作为一个服务注册到监听程序。客户端不需要知道数据库名和实例名&#xf…

背景图页面缩小会变形_社团招新迎新海报背景图第321期

○ ○ ○免费图片素材置顶提示&#xff1a;文件将通过某度网盘提取&#xff0c;请先将素材保存到自己网盘后再下载。虽然设置了链接长期有效&#xff0c;但是什么事情都不能绝对&#xff0c;至少现在就出现过好几次链接被取消的情况。页面底部有个留言的窗口&#xff0c;大家有…

ug10许可证错误一8_面对排污许可证后监督检查,企业应做好哪些准备?

排污许可证不是发完就了事&#xff0c;当证后监督检查来临时&#xff0c;你会怎么办&#xff1f;胸有成竹还是胆战心惊&#xff1f;不要以为网上申领许可证so easy&#xff0c;填填表&#xff0c;传传资料&#xff0c;就能蒙混过关&#xff1f;不可能的&#xff0c;一旦查出问题…

语言中的petchar运用_还在担心你家孩子发音、语言问题?12个表现、3个预防是重点...

#清风计划#儿童语言发育迟缓在早期有时很难发现&#xff0c;而一旦耽误2-6岁的“黄金恢复期”再想提高理解与表达就困难重重了。那么如何判定我们的宝宝是否语言发育迟缓呢&#xff1f;下面我们先来看下正常孩子的语言发展轨迹。0-6岁正常儿童的语言发展特征0 至 6个月对声音会…

php面试php数组变ahp,关于PHP字符串的一道面试题

我们来看一段简单的代码&#xff1a;$str php;$str[name] array(dogstart);var_dump($str);认真思索下&#xff0c;上面的代码会输出什么&#xff1f;如果你已经有答案了&#xff0c;那么就可以关闭这遍文章了&#xff0c;否则咱们一步一步的来看看最终会输出什么。基础回顾在…

7 libjpeg使用

一、交叉编译libjepg编译 tar xzf libjpeg-turbo-1.2.1.tar.gz ./configure –help ./configure --prefix/work/project/first_project/13libjepg/libjpeg-turbo-1.2.1/tmp/ --hostarm-linux make make install 二、交叉编译jepg2rgb.c arm-linux-gcc -o jpg2rgb jpg2rgb.c …

oracle快速排序法,经典算法系列之快速排序算法

快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。在平均状况下&#xff0c;排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较&#xff0c;但这种状况并不常见。事实上&#xff0c;快速排序通常明显比其他Ο(n log n) 算法更快&am…

echaer 地图_ECharts地图系列

series[i]-map用于控制 ECharts 中的地图。地图主要用于地理区域数据的可视化&#xff0c;配合 visualMap 组件用于展示不同区域的人口分布密度等数据。多个地图类型相同的系列会在同一地图上显示&#xff0c;这时候使用第一个系列的配置项作为地图绘制的配置。Tip: 在 ECharts…

内核电源管理器已启动关机转换_电气器件-菲尼克斯UPS(不间断电源)使用

在有些项目中存在部分器件不允许突然失电的情况&#xff0c;否则会导致器件损坏或者生产产品损坏等问题。为解决该问题一般使用UPS(不间断电源)来解决该问题。下面简单介绍菲尼克斯UPS的使用。某项目中使用工控机进行设备参数的管理、编辑操作&#xff0c;系统为Win7&#xff0…

关于JAVA中的synchronized,一段不错的解释...

转载于:https://www.cnblogs.com/tabchanj/p/5387832.html

oracle11优点,争先体味Oracle 11g的新特点

争先体味Oracle 11g的新特点跟着这几天Oracle OpenWorld大会的举行&#xff0c;Oracle11g的新特征越来越多的被展现出来。以前&#xff0c;我曾经引见过Oracle11g将可能在10月份的这个大会上推出&#xff0c;当初至于Alpha版的信息已经可以见到&#xff0c;现时出现的已经是Bet…

l298n电机驱动模块使用方法_SPDK virtio 驱动模块介绍及使用

作者简介闫亮 Intel高级软件工程师专注于开源存储SPDK的测试和优化简介CONTENTSSPDK virtio模块介绍SPDK virtio 用户模式使用示例SPDK virtio PCI模式使用示例总结第一章SPDK virtio模块介绍众所周知&#xff0c;Virtio协议定义了两个块设备驱动&#xff0c;virtio-blk和vi…

【rman】list archivelog all与list backup of archivelog all

list archivelog all 是列出控制文件中记录的未被rman delete 命令删除的手工删除的日志文件&#xff0c;如果手工删除之后使用list命令对应的日志文件的status为标记为X&#xff01;模拟删除日志yangdb_1_192_762800109.log oraclerac3:/opt/oracle/yangdb_arch>mv yangdb_…

ase支持 urp不_urp管线的自学hlsl之路 第一篇 序言

入坑unity学习已经有一年半了&#xff0c;shader很早就在用连连看学习和使用(lwrp hdrp的shadergraph和build in的ase)。但是随着对于画质和效果的追求和提高&#xff0c;使用手写shader已经变得非常有必要了。疫情期间正好打下了C#的编程基础&#xff0c;两个月前我开始学习CG…

oracle变量名,Oracle中的替换变量,变量名,变量名

替换变量(仅用于SQL *Plus或者用于原理和SQL *Plus相同的开发工具)&#xff1a;临时存储值利用它可以达到创建通用脚本的目的利用它可以达到和用户交互&#xff0c;故在SQL *Plus中又称交互式命令替换变量的格式式在变量名称前加一个&&#xff0c;以便在运行SQL命令时提示用…

2 使用_索尼黑卡RX100M6的使用指南2

索尼黑卡RX100M6的使用指南2先说刚拿到黑卡怎么上手吧&#xff0c;每次就谈3个点。NO.1模式转盘如下图模式转盘HFR&#xff1a;拍摄慢动作(视频)的档位&#xff0c;黑卡最高拍摄40倍慢动作视频&#xff1b;SCN&#xff1a;情景模式&#xff0c;就是小白不知道什么题材设置什么参…

iOS中的UIScrollView(滑动视图)

2019独角兽企业重金招聘Python工程师标准>>> UIScrollView 可以滑动的视图 #import "ViewController.h"interface ViewController (){UIImageView *imgV;}endimplementation ViewController- (void)viewDidLoad {[super viewDidLoad];//新加一个UIScroll…