| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4850 人关注过本帖, 1 人收藏
标题:clang编译器在处理GBK编码且有中文字符的源文件时报编码警告 能否屏蔽
只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用longwu9t在2015-1-14 23:52:27的发言:

你把大字符集的汉字写到C源文件里
用最简单的printf试试看
 
printf("%s\n", "㳇㛃这是个GBK以外的汉字测试");

我突然想起来 MS好像对库函数有个扩展 能在输出的时候转编码 具体忘了 Windows核心编程里面讲过
2015-01-14 23:55
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
洗个澡去了
回头看大版的回复……

Only the Code Tells the Truth             K.I.S.S
2015-01-14 23:55
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用longwu9t在2015-1-14 23:55:45的发言:

洗个澡去了
回头看大版的回复……

还不睡觉 嫂子要不高兴了

安安啦 我睡觉觉了
2015-01-14 23:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
我又不知道你那兩個字是怎麽弄出來的。

授人以渔,不授人以鱼。
2015-01-15 00:02
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
水遁回来了,你复制了就行
那两个字都是国家强制标准GB18030里的汉字
还都是VISTA以上系统的宋体都支持的汉字
睡了睡了……

Only the Code Tells the Truth             K.I.S.S
2015-01-15 00:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
GB18030扩充了GBK,是需要自己写翻译程序的,没有现成的转换函数可用(或者我不知道)。自己写没什么,但问题是扩充了的字,在GBK的显示模块下根本没对应字符可显示。Windows目前的版本不直接支持GB18030的字符显示,在特定的软件中可以(比如Word),但在cmd窗口中是不行的。

授人以渔,不授人以鱼。
2015-01-15 10:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
GB18030有两个版本,一个比一个扩充:

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



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


授人以渔,不授人以鱼。
2015-01-15 10:40
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用longwu9t在2015-1-14 23:52:27的发言:

你把大字符集的汉字写到C源文件里
用最简单的printf试试看
 
printf("%s\n", "㳇㛃这是个GBK以外的汉字测试");

CHCP 65001大法好

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

2015-01-15 10:51
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
设定65001没用的,显示混乱,屏幕上原来的文字会变双份,那是utf8编码有1、2、4字节的缘故,原先2字节的被撺乱为4字节,则自动一个字变两个字。

授人以渔,不授人以鱼。
2015-01-15 11:05
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用TonyDeng在2015-1-15 11:05:20的发言:

设定65001没用的,显示混乱,屏幕上原来的文字会变双份,那是utf8编码有1、2、4字节的缘故,原先2字节的被撺乱为4字节,则自动一个字变两个字。

源码是UTF-8 命令行也是UTF-8 显示正常 就是我上面图里的样子

哦 还得改一下字体

这样的缺点是 系统自带的命令行工具只能显示英语 不能在里面输入中文 对我来说影响不大 反之用的也不多


[ 本帖最后由 zklhp 于 2015-1-15 11:24 编辑 ]
2015-01-15 11:21
快速回复:clang编译器在处理GBK编码且有中文字符的源文件时报编码警告 能否屏蔽
数据加载中...
 
   



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

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