英文WINDOWS XP(已设置中文支持--Chinese (PRC) as Language for non-Unicode)下的VB6 SP6中文显示问题

VBAdvisor 2006-05-04 09:59:56
请看:
Option Explicit

Private Sub Form_Load()
Dim arrbyt1() As Byte, arrbyt2() As Byte
Dim str1 As String, str2 As String, str3 As String, str4 As String

str1 = "神舟六号.jpg"
arrbyt1 = StrConv(str1, vbFromUnicode)
str2 = StrConv(arrbyt1, vbUnicode)

arrbyt2 = str1
str3 = arrbyt2
str4 = str1

Debug.Print "str1="; str1
Debug.Print "str2="; str2
Debug.Print "arrbyt2="; arrbyt2
Debug.Print "str3="; str3
Debug.Print "str4="; str4

End Sub

为什么str2结果是显示出来的是“????.jpg”

str1=神舟六号.jpg
str2=????.jpg
arrbyt2=神舟六号.jpg
str3=神舟六号.jpg
str4=神舟六号.jpg

...全文
260 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
VBAdvisor 2006-05-05
  • 打赏
  • 举报
回复
arrbyt1 = StrConv(str1, vbFromUnicode)
arrbyt1已经转换成ANSI String了,按理再用StrConv应还原成Unicode String。

各位朋友,谁有在英文Windows,英文VB下的开发经验?有经验者请解释一下VB开发兼容英文Windows 95/98/NT/NT2000/XP和中文Windows 95/98/NT/NT2000/XP处理字体的程序技巧。

VBAdvisor 2006-05-05
  • 打赏
  • 举报
回复
由於VB6 SP6 StrConv的问题,我不能用GDI+去打开一个包含中文的图片文件。例如:
If (mGDIplus.GdipLoadImageFromFile(StrConv(Filename, vbUnicode), m_hImage) = 0) Then
。。。
End If


VBAdvisor 2006-05-05
  • 打赏
  • 举报
回复
TO:ljqqyx
我的英文XP SP2已经安装了East Asia Language support,并且已选了Chinese (PRC) as non-Unicode Language。在MS office2003 Language Settings中也已经选中了中文支持。但VB6 SP6 StrConv总是有问题。我不得不用API WideCharToMultiByte和MultiByteToWideChar。
冰天天 2006-05-05
  • 打赏
  • 举报
回复
我们公司全是英文XP
supergreenbean 2006-05-04
  • 打赏
  • 举报
回复
你看看arrbyt1 的内容正确不,如果这个正确的话那就是StrConv中所调用的WideCharToMultiByte关系了

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧