在 VB6 中运行时确定给定 LCID 的正确字符集的最佳方法是什么?
我在 VB6 应用程序中显示日语字符,系统区域设置设置为日本,非 Unicode 程序的语言设置为日语。 对于日语,对 GetACP() 的调用正确返回 932。 当我将日语字符串插入控件时,它们显示为“??A??t?????J‚Ì—??”,而不是“afurikaの女王”。 如果我手动将 Font.Charset 设置为 128,那么它们会正确显示。
在 VB6 中确定给定 LCID 的正确字符集的最佳方法是什么?
I am displaying Japanese characters in a VB6 application with the system locale set to Japan and the language for non Unicode programs as Japanese. A call to GetACP() correctly returns 932 for Japanese. When I insert the Japanese strings into my controls they display as “ƒAƒtƒŠƒJ‚Ì—‰¤” rather than “アフリカの女王”. If I manually set the Font.Charset to 128 then they display correctly.
What is the best way to determine the correct Charset for a given LCID in VB6?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
扩展鲍勃的答案,这里有一些获取当前默认字符集的代码。
Expanding Bob's answer, here's some code to get the current default charset.
请参阅 http://www.microsoft.com/globaldev/drintl /columns/014/default.mspx#E5B
See http://www.microsoft.com/globaldev/drintl/columns/014/default.mspx#E5B
第二种最佳方法是使用字体、font.charsets 和启发式数据库,如下所示:
http://www.example-code.com/vb/vb6-display-unicode.asp
(最好的方法是下车沉船即VB6)
The second best way is to use a database of fonts, font.charsets, and heuristics, such as is done here:
http://www.example-code.com/vb/vb6-display-unicode.asp
(The best way is to get off the sinking ship that is VB6)