| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4850 人关注过本帖, 1 人收藏
标题:clang编译器在处理GBK编码且有中文字符的源文件时报编码警告 能否屏蔽
取消只看楼主 加入收藏
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
结帖率:100%
收藏(1)
已结贴  问题点数:100 回复次数:16 
clang编译器在处理GBK编码且有中文字符的源文件时报编码警告 能否屏蔽
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


源文件是GBK编码时有中文(非注释)就报警 编译能通过 正常执行 控制台下正常显示中文

源文件是UTF-8时不报警 执行时中文部分乱码 用wprintf(L".......")可以正常在控制台下显示中文 但是要#include <locale.h> 并用wprintf(L"..... 太麻烦

现在我只想屏蔽掉clang编译器关于字符串编码的报警

不知道高手大神们知道该怎么解决
搜索更多相关主题的帖子: include 编译器 源文件 字符串 中文 
2014-12-23 15:50
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
gcc的报警信息好乱 看得人头痛
vs带的cl又基本上不爱报警(比如用了sqrt函数而没有#include<math.h>....)
一直在用这两个来学写C的小程序 但是对调试时的报警信息不满意
听说clang的报警信息处理的比较不错
就试了一下
感觉还行
但就是这个字符编码报警太烦 想屏蔽掉 不知道怎么办...

Only the Code Tells the Truth             K.I.S.S
2014-12-23 16:11
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
回复 4楼 rjsp
图片附件: 游客没有浏览图片的权限,请 登录注册

强啊 我怎么就没找到这个参数呢
印象中这是GCC用的啊

Only the Code Tells the Truth             K.I.S.S
2014-12-23 16:14
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

只我说的一样 不报警 执行时乱码
不过我很好奇 我在google上都没搜到解决方法.....
图片附件: 游客没有浏览图片的权限,请 登录注册

Only the Code Tells the Truth             K.I.S.S
2014-12-23 16:21
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
回复 8楼 rjsp
呀 是这样的
我平时习惯用鼠标拖文本搜索了

对google搜索的一些高级用法没注意
下次搜带参数会注意了

谢谢

Only the Code Tells the Truth             K.I.S.S
2014-12-23 16:31
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
一直用UTF-8话 在WIN控制台是各种的不方便

Only the Code Tells the Truth             K.I.S.S
2014-12-23 16:56
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
回复 13楼 zklhp
windows使用vim并在vim中使用终端不外乎虚拟机 mingw+msys cygwin

除了虚拟机 其它都不真正实现zh_CN.UTF-8的locale

虚拟机又太耗资源

所以 除非你长期在非WIN的平台在工作
否则GUI下要选utf-16le(unicode)为好
控制台下选cp936(gbk)为好

这也是我实验了很多次才得出的看法

对于频繁跨平台工作的人 UTF8也是没有办法的选择 两害相较择其轻罢了

Only the Code Tells the Truth             K.I.S.S
2014-12-23 18:13
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
回复 15楼 zklhp
那CHCP 65001的命令不能真正解决控制台下大字符集汉字输出的问题
还会造成屏幕输出刷新不完全的故障
删除字符时还经常会半个半个删
坏处不一而足
实不堪用

Only the Code Tells the Truth             K.I.S.S
2014-12-23 19:54
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
是很高级 我也没法下载
我的要求是说在C源文件是UTF-8编码
而且使用了超出了GBK范围的汉字比如(㛃 㳇 㵎……)

图片附件: 游客没有浏览图片的权限,请 登录注册

这虽然也能显示
但是每次都要调locale
很烦
而且经常会遇到屏幕刷新的问题

Only the Code Tells the Truth             K.I.S.S
2015-01-14 23:29
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
同样的程序要是不chcp 65001的话
就是这个情况
图片附件: 游客没有浏览图片的权限,请 登录注册

Only the Code Tells the Truth             K.I.S.S
2015-01-14 23:32
快速回复:clang编译器在处理GBK编码且有中文字符的源文件时报编码警告 能否屏蔽
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025483 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved