首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么输出utf-8格式的字符串

2012-09-05 
如何输出utf-8格式的字符串本人新手最近刚搞编码问题。比如我把一个含有7个汉字的文本文件以utf-8格式保存

如何输出utf-8格式的字符串
本人新手
最近刚搞编码问题。

比如我把一个含有7个汉字的文本文件以utf-8格式保存
如果我在dos下 设置utf-8代码页和正确字体后 用type 指令 是能够正确输出的

但是如果我在cpp中用一个string读取其中一行代码。去除文本bom后,在用cout输出到dos中 却是很多个框
utf-8中汉字占3字节,但是却输出了21个框,说明程序还是没办法以utf-8格式 输出这段字符串 还以为输入的不是7个汉字,是21个字符。

所以小弟想问,如果我的string保存了一段utf-8格式的字符串,如何正确输出到屏幕上,正确输出7个汉字,不是乱码呢?


[解决办法]
输出到哪里?

而且一般Windows上,是要输出UNICODE16的。UTF8不行。
[解决办法]
MultiByteToWideChar
WideCharToMultiByte
编码的转换
[解决办法]
在运行你的程序输出UTF-8之前,先用下面的命令切换代码页。
chcp 65001

热点排行