注:所有IDEA乱码情况都可以使用如下解决步骤尝试。
前言:
Eclipse开发的项目转移到idea上进行开发,启动没问题(控制台输出日志没有问题),调用短信业务是出现XML解析异常 InvocationTargetException、MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。
问题原因:
主要是IDEA在window系统下默认是使用的GBK编码格式,但是项目使用的是UTF-8,导致解析返回的XML出现问题。
解决步骤:
(没必要全部去设置,这是设置顺序,知道问题解决即可):
清缓存,重启项目若果不行就按如下操作:
1.File->Settings->Editor->File Encodings 设置UTF-8(三个点,下面并且打钩),点击加号添加项目路径
2.File->Other Settings->Default Settings ->Editor->File Encodings 设置UTF-8(三个点,下面并且打钩)
3.将项目中的.idea文件夹中的encodings.xml文件中的编码格式改为uft-8
4.File->Settings->Build,Execution,Deployment -> Compiler -> Java Compiler
设置 Additional command line parameters选项为 -encoding utf-8
5.Edit Configuration,选择你的tomcat,设置VM options:-Dfile.encoding=UTF-8
本身控制台输出没有中文乱码,但是经过第五步之后控制台可能会出现乱码,反正我的经历是出现了乱码,好的是之前的问题解决了。
6.解决VM options设置成-Dfile.encoding=UTF-8出现乱码问题
在idea的bin目录(如:D:\JetBrains\IntelliJ IDEA
2018.1.4\bin)下找到idea.exe.vmoptions和idea64.exe.vmoptions两个文件中增加一行-Dfile.encoding=UTF-8,之后重启IDEA。
或者HELP->Edit Custom VM OPtions中加 -Dfile.encoding=utf-8 然后重启IDEA。