【发布时间】:2012-09-18 07:09:20
【问题描述】:
我正在尝试将字符串从 ANSII 转换为 Wide char。我正在使用CA2W(string,CP_UTF8),它在内部使用MultiByteToWideChar。
调试时显示MultiByteToWideChar将°度符号转换为...。
关于如何解决这个问题的任何建议?
【问题讨论】:
-
代码或者它没有发生......
-
呵呵,我刚看了几分钟前最新的Old New Thing:blogs.msdn.com/b/oldnewthing/archive/2012/09/17/10349955.aspx
-
我也很想知道他是如何确定这一点的。我已经看到了——字体中不存在字符,或者是非法编码,或者类似的东西——渲染器的人工制品,无论如何,不是编码的东西在正在显示的文本中。
-
原始字节不是 utf-8 编码。尝试 CP_ACP 而不是 CP_UTF8。
-
您确定
string是°在UTF-8 中 吗?在我看来,调试器向您显示°似乎不太可能,因为 Windows 仅允许您在转换上下文中使用CP_UTF8,而不是作为活动代码页。
标签: c++ windows winapi unicode