gpt4 book ai didi

vb.net - .NET本地化: Japanese Characters Display as Squares

转载 作者:行者123 更新时间:2023-12-01 21:47:55 25 4
gpt4 key购买 nike

好吧,我不做太多 .Net 编程,但我确实维护过一个,所以这个问题的答案可能是显而易见的。

设置:

  • 安装了所有语言包的 Windows 7 Ultimate
  • Visual Studio 2008 Winforms VB.Net 项目。

我正在本地化这个项目,当我制作日语版本的表单时,字符显示为正方形,尽管它们在我的浏览器中正确呈现。我猜测这是因为默认字体没有这些字符的字形。

所以,我的问题:

winforms 是 UTF-8 还是其他字符编码?有没有办法改变字符编码?我应该更改日语表单的字体吗?还是 Windows 会这样做?这里的一般最佳实践是什么?

我想知道我是否正确地将字符复制到我的表单中,并且我希望能够测试它们。我怎样才能做到这一点?

感谢您的反馈!

编辑:谢谢(你的)信息!这是我发现的。

Arial Unicode MS 确实拥有所有字形,但我没有使用它,因为它不在 VS2008 字体列表中。我手动编辑字体框来使用它,但随后 Visual Studio 抛出消息“尝试读取或写入 protected 内存。这通常表明其他内存已损坏”。我猜这是因为 VS 由于某种原因无权访问该字体。我回到默认字体,可怕的错误消息消失了。

然后,即使使用 Arial Unicode MS,文本也会呈现为表单标题中的 block 。相同的文本在标签中正确呈现。

所以,我想我想使用默认字体,并让 Windows 处理它。我想我已经读到从 XP 开始的所有内容都可以处理它。 Windows 2000 不会,这很遗憾,但无论如何,我不知道应该使用什么字体,而且无论它是什么字体,都被排除在 VS 之外。我不知道如何添加它而不收到大量有关 protected 内存的错误消息。

现在的问题是,调整表单中标签的大小,因为翻译后的文本通常较大。

此外,我没有支持团队为我执行此操作,但我也许可以安装 Windows 7 的额外副本,然后更改为日语语言包并尝试运行它。但这成为一个主要的痛苦。我以为我读到您可以在应用程序运行时更改语言,但这似乎并非如此。 MS 文档讨论了如何执行此操作,但 Windows 7 还告诉您必须注销才能更改语言。

MS Gothic 似乎可以工作,它是 VS 2008 的一部分,但标题栏仍然是正方形。这真的很奇怪,因为 winform 中也有相同的字形。这是因为标题栏字体是在系统级别设置的,而不是在应用程序级别设置的吗?

抱歉啰嗦了。不确定这里是否还有问题。只是想把它全部弄清楚,所以也许这会帮助其他人。

最佳答案

任何 .NET 代码(包括 Windows 窗体)都使用 UTF16 编码的 Unicode。您的问题不太可能是编码问题,它会产生问号而不是方 block 。出现正方形表示您使用的字体缺少显示日语字符所需的字形。

您可以使用 charmap.exe 小程序来查找您使用的字体支持哪些字形。如果它们丢失,那么操作系统将被迫回退到替代字体,并在找不到替代字体时失败。显示方 block 就是它所能做的一切。旧的操作系统版本很可能是导致此事故的原因,特别是对于未安装可选东亚字体的 XP。

请注意,此字体问题不太可能是启动日语版 Windows 的计算机上的问题。当然,它必须使用正确的字体来显示日语文本。您可以通过 MSDN 订阅获取特定语言版本的 Windows。至少为您的质量检查人员准备一份,以便他们可以验证一切是否正常工作。

关于vb.net - .NET本地化: Japanese Characters Display as Squares,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2087069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com