java - (Intellij) 编译时出现“未封闭字符文字”和“非法字符'\u00a7'”
问题描述
我试图将 '§' 字符编译成 char ( char c = '§'
) 但是当我尝试构建时,它会在构建输出中显示“ Unclosed character literal
”和“ Illegal character: '\u00a7'
”,然后是“ Unclosed character literal
”。如果我将字符放入 String ( String s = "§"
) 中,它可以正常工作。但是当我将它打印到控制台时,它会打印'Â'字符(它不应该)
在另一个java项目中,我可以很好地使用'§'字符并正常编译,它可以按预期工作;将其打印到控制台不显示任何内容(这是正常的,因为它被用作为文本着色的转义字符)。该项目(和当前项目)在 intellij 中不使用“BOM”,它们都使用 UTF8 编码
有谁知道如何解决这一问题?谢谢:)
解决方案
我如何重现该错误:
- 创建了一个新
Test.java
的 UTF-8 编码(默认) - 添加 main
char c = '§';
并打印它 - 跑
Test.main()
没有错误,正如预期的那样。
所以我尝试了:
- 创建第二个文件
Test1.java
并更改为ISO-8859-1
编码 - 仅使用打印命令添加了 main 方法
- 跑
Test1.java
这次我得到了报告的错误,但是对于Test.java
(仍然编码为 UTF-8)
看起来 IDEA 对整个源代码使用了第一个文件的编码。
解决方案:
推荐阅读
- azure-cosmosdb - CosmosDB Gremlin:具有指定 ID 或名称的资源已存在
- firebase - 使用 Dart 从 Firebase 读取数据。检索子值
- talend - 如何防止 Talend ESB 在内置的 .kar 文件中包含不需要的库?
- java - 应用于每个输入
- css - $document->addStyleSheet 已弃用
- rest - 在给出 500 作为响应的同时通过测试用例
- dotnetnuke - DNN 重定向到 503 错误页面而不是 404 错误页面
- angular - 与 redux-thunk 相比,ngrx/effects 方法有哪些优势?
- java - 具有昂贵的自定义键功能的列表的最大值
- xpages - 获取在 Java 中触发提交的组件 ID