标签中未显示 Unicode 特殊字符
Unicode special character not displaying in label
我想打印那种character,但是我不明白,我以为c#支持unicode。
我的解决方法:
label3.Text = "\u1F6B5";
这不是唯一不起作用的符号。
谢谢。
我相信您还需要 select 一种支持标签 unicode 字符的字体。试试像 Arial Unicode MS 这样的东西(或者看看 this guideline for fonts supporting that exact unicode character... e.g. the Segoe UI Symbol 字体)。
label3.Text = "\u1F6B5";
\u
转义只需要 4 个十六进制数字,而您尝试使用 5 个。因此您最终得到一个包含两个字符的字符串,'\u1F6B' 和 '5'。看起来像“Ὣ5”,不是你想要的。
使用来自较高位平面的代码点(代码 >= 0x10000)需要大写 U 才能正确编码为字符串文字。修正:
label3.Text = "\U0001F6B5";
机器还需要包含字形的字体。当您看到一个矩形时,您就会知道它不见了。
我今天遇到了这个问题。我发现 CompatibleTextRendering 属性 会影响是否显示 Unicode 符号。
见图 here 它如何影响 Label 和 LinkLabel 控件。
我用 Segoe UI 表情符号字体解决了。
我想打印那种character,但是我不明白,我以为c#支持unicode。
我的解决方法:
label3.Text = "\u1F6B5";
这不是唯一不起作用的符号。
谢谢。
我相信您还需要 select 一种支持标签 unicode 字符的字体。试试像 Arial Unicode MS 这样的东西(或者看看 this guideline for fonts supporting that exact unicode character... e.g. the Segoe UI Symbol 字体)。
label3.Text = "\u1F6B5";
\u
转义只需要 4 个十六进制数字,而您尝试使用 5 个。因此您最终得到一个包含两个字符的字符串,'\u1F6B' 和 '5'。看起来像“Ὣ5”,不是你想要的。
使用来自较高位平面的代码点(代码 >= 0x10000)需要大写 U 才能正确编码为字符串文字。修正:
label3.Text = "\U0001F6B5";
机器还需要包含字形的字体。当您看到一个矩形时,您就会知道它不见了。
我今天遇到了这个问题。我发现 CompatibleTextRendering 属性 会影响是否显示 Unicode 符号。
见图 here 它如何影响 Label 和 LinkLabel 控件。
我用 Segoe UI 表情符号字体解决了。