【发布时间】:2021-08-19 14:07:15
【问题描述】:
我正在使用 Visual Studio 2019 在 C++ wxWidgets 中创建一个计算器应用程序。我创建了一个自定义按钮类,我想将其用于所有数学运算和符号。
如何将按钮的标签设置为 √ 而不是 sqrt?如果我这样做,一个?而是显示符号。我还需要在 wxTextCtrl 上显示这些符号,如果这样做,我在尝试编译时会收到以下错误:(忽略 App.razor,图片不是我的)
我需要将当前字符集从 ASCII 更改为 Unicode 吗?你是怎么做到的?
【问题讨论】:
-
只是字体问题。您应该使用支持此类字符的字体。
-
我已将字体从 Lato 更新为 Arial,according to Wikipedia 是一种支持 Unicode 的字体,我收到了同样的错误消息。
-
@GiacomoCatenazzi 这不是字体问题。如果OP在源代码文件中使用
"√",那么显然该文件必须保存为Unicode,否则如何保留√字符?这正是错误消息的含义 -
@phuclv 和 iKebab897:不,拥有 unicode 支持与拥有能够显示此类 unicode 字符的字体不同。没有字体可以显示所有分配的 unicode 字符。此外,带有 NOTO 字体的 Google(以显示所有 Unicode 字符)将字符拆分为多种字体。并且:源编码与显示编码无关(过去这个问题更常见,在 unicode 之前)
-
@GiacomoCatenazzi 我知道没有字体支持所有 Unicode 字符。但这里的问题是 OP 在源代码中输入了一个非 ASCII 字符,而 VS 要求将文件保存为 UTF-8 以保留该字符或丢弃所有非 ASCII 字符和像以前一样将文件保存为 ASCII
标签: c++ unicode ascii wxwidgets