尝试在C#中输出unicode拉丁字符(十六进制:271D)

时间:2012-03-26 06:49:27

标签: c# unicode reporting-services

我正在尝试输出此图表中描述的unicode拉丁字符:

http://en.wikipedia.org/wiki/List_of_Unicode_characters

所以,从winforms程序中,我尝试了这个:

MessageBox.Show("Unicode latin cross character follows : \u271D");

但它显示了一个小盒子形状,预计十字架。

有输出这个字符的安全方法吗?

注意*:“安全”,这意味着它可以在安装了标准Windows字体的普通PC上运行。

(我实际上想在SSRS报告中输出这个字符。如果在文本中无法完成,我将不得不使用图像。)

1 个答案:

答案 0 :(得分:6)

这似乎是一个字体问题;一个小盒子通常表示。角色“✝”LATIN CROSS(U + 271D)有limited coverage in fonts。 Windows附带的所有字体都不包含它。 Arial Unicode MS字体可以,但它不是Windows的一部分,而是附带Microsoft Office(以及其他一些产品)。

考虑使用广泛支持的“†”DAGGER(U + 2020),如果需要,可以使用粗体或更大的尺寸。

但是,有一个丑陋的黑客可能会或可能不会工作,具体取决于使用的软件:将字体设置为Wingdings 2(通常在Windows上可用)和输出\ u0085或\ u0086。这取决于使用Wingdings 2作为具有8位编码的字体。我不认为这个技巧可以在大多数现代环境中使用。