为什么 clang-format 会破坏 eclipse 中的 Unicode 字符?

Why does clang-format destroy Unicode characters within eclipse?

我正在使用 Eclipse CDT Eclipse C/C++ 开发工具 10.2.0.202103011047、CppStyle 1.5.0.0 和来自 clang 12.0.0 的 clang-format

我的 C++ 源文件包含一行

QString fileExportDirectory = "./";

因为我正在编写处理 Unicode 路径的单元测试。一旦我格式化文件的任何部分,该行就会更改为

QString fileExportDirectory = "./?";

为什么会这样?各自文件的编码和默认文本文件编码都设置为“UTF-8”。我没有读到任何 clang-format 或 Cppstyle 对 Unicode 有困难的东西。如何防止我的 clang-format 代码格式化程序破坏 Unicode 内容?

所描述的不当行为是一个已报告的 CppStyle 错误 (https://github.com/wangzw/CppStyle/issues/39)。作为解决方法

-Dfile.encoding=UTF-8

可以添加到“eclipse.ini”,然后格式按预期工作。