【发布时间】:2015-10-19 20:52:01
【问题描述】:
【问题讨论】:
标签: c# winforms unicode console-application unicode-string
【问题讨论】:
标签: c# winforms unicode console-application unicode-string
label3.Text = "\u1F6B5";
\u 转义只需要 4 个十六进制数字,您尝试使用 5。所以您最终得到一个包含两个字符的字符串,“\u1F6B”和“5”。看起来像“Ὣ5”,不是你想要的。
使用来自高位平面的代码点(代码 >= 0x10000)需要大写 U 才能正确编码为字符串文字。修复:
label3.Text = "\U0001F6B5";
机器还需要包含字形的字体。当您看到一个矩形时,您就会知道它丢失了。
【讨论】:
我今天遇到了这个问题。我发现 CompatibleTextRendering 属性会影响是否显示 Unicode 符号。
查看图片 here 它如何影响 Label 和 LinkLabel 控件。
我使用 Segoe UI Emoji 字体解决了这个问题。
【讨论】:
我相信您还需要为您的标签选择支持 unicode 字符的字体。试试 Arial Unicode MS 之类的东西(或查看 this guideline 以获取支持该确切 unicode 字符的字体...例如 the Segoe UI Symbol 字体)。
【讨论】: