首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wxTextCtrl OSX变元音

wxTextCtrl OSX变元音
EN

Stack Overflow用户
提问于 2013-05-12 18:47:55
回答 2查看 103关注 0票数 0

我使用的是非wxMac版本的Unicode2.8。我尝试将带有变异元音"ü“的文件读取为wxtextctrl。当我这样做时,数据被解释为当前编码,但它是一个多字节字符串。我将问题的范围缩小到以下范围:

代码语言:javascript
复制
text_ctrl->Clear();
text_ctrl->SetValue("üüüäääööößßß");

这就是结果:

√:√§√§√§√∂√∂√∂√ü√ü√ü

注意,字符数翻了一番-在gdb中打印字符串显示"\303\274“,并且每个原始字符都是类似的。在textctrl中输入"ü“或类似内容是没有问题的。我尝试了各种wxMBConv方法,但结果总是相同的。有没有办法解决这个问题?

诚挚的问候,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-12 20:38:06

如果您使用7位ASCII码以外的任何代码,则必须使用wxWidgets的Unicode版本。只要帮你自己一个忙,然后切换到它。如果您有太多的现有代码是为Unicode2.8或更早版本的“ANSI2.8”版本编写的,并且不能使用wxWidgets版本进行编译,那么请改用wxWidgets 2.9,在它可以编译的地方--并按预期工作。

票数 0
EN

Stack Overflow用户

发布于 2013-05-12 18:57:36

听起来您的文本编辑器(用于程序源代码)与正在运行的程序使用不同的编码。

例如,假设您的文本输入控件和程序的其余部分(正确地)使用了UTF-8。现在,如果您的文本编辑器正在使用其他编码,那么在屏幕上看起来很好的字符串实际上将包含垃圾字节。

假设您处于帮助创建纯UTF8世界的位置,那么您应该:

1)使用转义将UTF-8直接编码为字符串文字,例如"\303“或"\xc3”。这样做很烦人,但这意味着你不必担心你的文本编辑器(或其他开发人员的编辑器设置)。

2)然后检查程序是否到处使用UTF-8。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16506550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档