【问题标题】:Clang-format Incorrect Character Encoding IssueClang 格式不正确的字符编码问题
【发布时间】:2016-08-19 23:07:42
【问题描述】:

我已经设置了 clang-format 以在编译时自动格式化代码,但是它用问号替换了某些字符。例如:

// Copyright © Someone

变成

// Copyright ? Someone

我在 Visual Studio 2015 中使用 CodeBeautifier 插件。当我启用 使用源文件编码 选项时,它显示如下:

// Copyright � Someone

Type 设置为 StdInput,因为当我选择 File 时,它会等待用户输入,然后冻结 Visual Studio。

如何防止此类字符被错误编码?

【问题讨论】:

    标签: c++ visual-studio encoding character-encoding clang-format


    【解决方案1】:

    这是因为字符被保存为 utf-8。显然,MSVC 不能正确识别它。

    这可能会有所帮助:How to set standard encoding in Visual Studio。此外,在选项/文本编辑器中,激活“自动检测不带签名的 UTF-8 编码”。

    【讨论】:

    • 手动保存文件时不会出现该问题,但仅在插件格式化时才会出现。有趣的是,在打开源文件的情况下运行此插件时,它确实会正确保存。
    • 仍然是编码问题。美化者或工作室中的任何一个都以不同于另一个预期的方式读取或写入(明显的)多字节字符。编码问题是人们通常应该只在源代码中使用 ASCII 字符的原因 - 所以你甚至可能考虑用 (C) 替换 © ...
    猜你喜欢
    • 2018-09-01
    • 2012-12-02
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 2018-02-28
    相关资源
    最近更新 更多