V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mikicomo
V2EX  ›  问与答

如何屏蔽 Clang 在处理 GBK 编码且有中文字时的编码警告?

  •  1
     
  •   mikicomo · 2016-03-15 22:18:07 +08:00 · 2800 次点击
    这是一个创建于 3201 天前的主题,其中的信息可能已经有所发展或是发生改变。

    源文件是 GBK 编码时有中文就报警但是编译能通过,正常执行,控制台下正常显示中文

    源文件是 UTF-8 时不报警,但是执行时中文部分乱码。

    该如何解决呢?

    8 条回复    2020-05-09 16:42:13 +08:00
    zhjits
        1
    zhjits  
       2016-03-16 07:13:57 +08:00
    -Wno-invalid-source-encoding
    mikicomo
        2
    mikicomo  
    OP
       2016-03-16 08:59:01 +08:00 via Android
    @zhjits 需要每次都设置吗?有没有一劳永逸的方法呢
    zhjits
        3
    zhjits  
       2016-03-16 11:32:30 +08:00
    @mikicomo alias clang="clang -Wno-invalid-source-encoding"
    mikicomo
        4
    mikicomo  
    OP
       2016-03-16 12:44:24 +08:00
    @zhjits 嗯,能问下这个参数有什么作用嘛
    mikicomo
        5
    mikicomo  
    OP
       2016-03-16 12:45:24 +08:00
    @zhjits

    ```
    去掉 -Winvalid-source-encoding
    试试 -Wno-invalid-source-encoding

    ```
    这是我搜到的解决方案,但是不是很明白这个参数设定是什么意思
    zhjits
        6
    zhjits  
       2016-03-16 15:36:59 +08:00
    @mikicomo 这个参数的意思是对无效的字符编码报错
    mikicomo
        7
    mikicomo  
    OP
       2016-03-16 16:38:34 +08:00
    @zhjits 嗯嗯,谢啦
    sherlocknieh
        8
    sherlocknieh  
       2020-05-09 16:42:13 +08:00
    那些改文本编码的方法都治标不治本,真正的问题不在编译器,而在 CMD/PowerShell 。
    合理的解决方法是改 CMD/PowerShell 的输出编码为 UTF-8 。具体请看这篇文章:
    https://www.jianshu.com/p/cd3a7b196ab3
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2558 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:38 · PVG 23:38 · LAX 07:38 · JFK 10:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.