Idea报错“未结束的字符文字”;“非法字符: ‘\ufffd‘”

原因:idea中的Global Encoding和Project Encodeing不统一

.idea文件下的encoding.xml文件如下

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Encoding">
    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Context/FormulaContext.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Enum/Operator.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Enum/StrategyType.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Factory/FormulaFactory.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Formula/AddFormula.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Formula/DivFormula.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Formula/Formula.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Formula/MultiFormula.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Formula/SubFormula.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Strategy/AddStrategy.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Strategy/AddSubStrategy.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Strategy/DivStrategy.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Strategy/FormulaStrategy.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Strategy/MultiDivStrategy.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Strategy/MultiStrategy.java" charset="GBK" />
    <file url="file://$PROJECT_DIR$/src/main/java/com/oralcalculation/util/generate/Strategy/SubStrategy.java" charset="GBK" />
    <file url="PROJECT" charset="GBK" />
  </component>
</project>

可以看出编码是不统一的

解决方法:
  1. 直接些修改.idea文件下的encoding.xml文件中的编码为UTF-8,并且删除所有charset,删除单独的文件编码设置

    <?xml version="1.0" encoding="UTF-8"?>
    <project version="4">
      <component name="Encoding" defaultCharsetForPropertiesFiles="GBK">
        <file url="PROJECT" charset="GBK" />
      </component>
    </project>
    
  2. 在idea中点击File -> Settings -> Editer -> File Encodings将Global Encoding和Project Encodeing都改为UTF-8
    在这里插入图片描述

或者全改为GBK,统一即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
这个问题通常是由于文件的编码问题引起的。在某些情况下,默认的BOM(字节顺序标记)头可能会引发编码混乱的问题。BOM是一种隐藏字符,它在编译过程中可能会导致出现非法字符的错误。 要解决这个问题,首先需要检查你的项目的字节码设置。如果默认的字节码是GBK,那么你需要确认文件的编码是否也是GBK[2]。在一些项目中,可能一直使用的是UTF-8编码,这时就需要更改项目的字节码或者IDEA的字节码设置,确保字节码相同,否则会出现问题。 另外,你可以通过以下步骤来解决这个问题: 1. 点击File,选择Sttings,然后选择File Encodings。 2. 在Create UTF-8 files选项中选择with No BOM。 3. 点击Apply保存设置。 4. 检查文件的字节码是否与项目设置一致。 通过以上步骤,你应该能解决idea编译报错非法字符的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [解决JAVA报错非法字符: ‘\ufffd‘ 和结束字符文字;](https://blog.csdn.net/weixin_60677044/article/details/129846807)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值