1

我们编写了一个程序,它在两台相同的机器上表现不同。在一台机器上显示带有英镑符号的价格。我们根据列表设置符号,例如 { "£", "€", "€" }; 两台机器都配置了相同的语言和键盘设置。我们不依赖于货币设置,但即便如此,两台机器上的货币设置都是相同的。但是在一台机器上,该符号被“翻译”为字母 J。我们在 Windows 窗体上使用 C# 2010 将这个带有标签,想知道是什么原因造成的?

更新我使用相同的字体和相同的方法来显示它。两台机器都运行 Win7 sp1 它不仅带有英镑符号,而且欧元符号显示为 J ???

4

2 回答 2

0

多亏了我很棒的 Google-fu,我想出了一些东西,但我只能在我的一台机器上测试它,所以我不确定它是否会为你做,但无论如何都要试一试。

var encoder = System.Text.Encoding.GetEncoding(858); //also tried with 437
byte[] c = new byte[] { 156 };
Console.WriteLine(encoder.GetString(c));

这会在我的机器上打印出“£”。

取自该线程:http ://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/dccd38e0-6f9e-4fb2-b114-bc44128ca634/

于 2013-04-17T14:44:27.933 回答
0

我们的网站(我们自己的网站和其他知名网站的网站)也有类似的问题,其中英镑 (£) 符号显示为字母 J。我们还注意到,同时文本在不应该的时候是粗体和倾斜的已经。

经过大量调查发现,我们遇到的大部分机器上安装的 Helvetica 字体有问题,有两种可能的解决方案:

  1. 如果您可以控制机器,请删除“Helvetica Bold Oblique”、“Helvetica Bold”和“Helvetica Oblique”字体(“Helvetica Regular”似乎可以正常工作)。
  2. 在您的应用程序/网站中使用不同的字体。
于 2015-02-12T13:17:27.640 回答