Mic*_* T. 9 vb.net unicode localization internationalization winforms
好的,我没有做太多.Net编程,但我确实有一个我维护的,所以答案可能是显而易见的.
建立:
我正在本地化这个项目,当我制作日文版的表格时,字符显示为正方形,尽管它们在我的浏览器中正确呈现.我猜这是因为默认字体没有这些字符的字形.
所以,我的问题:
winforms是UTF-8还是其他一些字符编码?有没有办法改变字符编码?我应该更改日语表单的字体,还是Windows会这样做?这里的一般最佳做法是什么?
我想知道我正在将字符正确地复制到我的表单中,我希望能够测试它们.我怎样才能做到这一点?
感谢您的任何反馈!
编辑:感谢您的信息!这是我发现的.
Arial Unicode MS确实拥有所有字形,但我没有使用它,因为它不在VS2008字体列表中.我手动编辑了字体框以使用它,但随后Visual Studio抛出消息" 尝试读取或写入受保护的内存.这通常表明其他内存已损坏." 我猜这是因为VS由于某种原因没有访问该字体的权限.我回到默认字体,可怕的错误消息消失了.
然后,即使使用Arial Unicode MS,文本也会在表单标题中呈现为块.相同的文本在标签中正确呈现.
所以,我想我想使用默认字体,让Windows处理它.我想我已经读过XP上的所有东西都会处理它.Windows 2000不会,这是一个耻辱,但什么,我不知道我应该使用什么字体,以及它排除在VS之外的任何字体.我不知道如何添加它而不会收到大量有关受保护内存的错误消息.
现在的问题是,调整表单中的标签大小,因为翻译的文本通常更大.
此外,我没有支持团队为我这样做,但我可以安装额外的Windows 7副本,并更改为日语语言包并尝试运行它.但这成了一个主要的痛苦.我以为我读过你可以在应用程序运行时更改语言,但这似乎不是真的.MS文档讨论了如何执行此操作,但Windows 7还告诉您必须注销才能更改语言.
MS Gothic似乎有效,它是VS 2008的一部分,但标题栏仍然是正方形.这真的很奇怪,因为相同的字形在winform中.这是因为标题栏字体是在系统级别而不是应用程序级别设置的?
对不起,罗嗦.不确定这里是否有问题.只是试图全力以赴,所以也许这将有助于其他人下线.
任何.NET代码(包括Windows窗体)都使用Unicode编码为UTF16.您的问题不太可能是编码问题,会产生问号而不是方块.获得正方形表示您使用的字体缺少显示日语字符所需的字形.
您可以使用charmap.exe小程序找出您使用的字体支持的字形.如果它们丢失了,那么操作系统将被迫回退到替代字体,当它找不到时会失败.然后显示正方形就可以做到.旧操作系统版本很可能是造成这种事故的原因,特别是对于没有安装可选东亚字体的XP.
请注意,在引导日语版Windows的计算机上,此字体问题不太可能成为问题.它当然需要正确的字体才能显示日文.您可以通过MSDN订阅获取Windows的特定语言版本.至少为你的QA工作人员拿一个,这样他们就可以验证一切正常.
归档时间: |
|
查看次数: |
5040 次 |
最近记录: |