事实证明,情况如果是新安装的IDEA,导入原来项目报了这个错,很大可能是以下问题.
项目的默认编码也设置成UTF-8了,但是启动的时候,还是编译错误,基本上不可能是代码的问题,之前照样运行,新安装的就不行了?所以可以肯定的是IDEA哪里没有配置到位.
当在IDEA中导入项目的时候, .idea/encoding.xml 中会自动配置文件编码
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" defaultCharsetForPropertiesFiles="UTF-8">
<file url="file://$PROJECT_DIR$/src/main/java/com/common/utils/IdWorker.java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java/com/common/wechat/core/oauth/SnsUtil.java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java/com/os/control/m_interface/mobile/web/FrontWeChatOauthAction.java" charset="GBK" />
<file url="file://$PROJECT_DIR$/src/main/java/com/os/jsonModel/OsUserJsonModel.java" charset="GBK" />
<file url="PROJECT" charset="UTF-8" />
</component>
</project>
解决方法:修改或删除对应代码(可以直接把带有GBK的代码行删掉,或者把GBK改成UTF-8也成)
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" defaultCharsetForPropertiesFiles="UTF-8">
<file url="file://$PROJECT_DIR$/src/main/java/com/common/utils/IdWorker.java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java/com/common/wechat/core/oauth/SnsUtil.java" charset="UTF-8" />
<file url="PROJECT" charset="UTF-8" />
</component>
</project>