在网上搜索了一下,好像VB是有限度地支持UNICODE。我想实现的结果是:
程序的窗体所有标签都使用UNICODE,显示出来的数据也是UNICODE(我的MSSQL数据库已经设成UNICODE存储)。不知这是否能实现?VB支持么?
还有,即使VB支持,这至少得要WIN2000以上的操作系统才支持吧。
如果能实现,具体要怎么设置VB?

解决方案 »

  1.   

    原来只知道VB天生就是UniCode,被你一说,倒觉得很有意思,关注。
      

  2.   

    可以参考msdn关于strconv函数的说明
      

  3.   

    楼上的正解,你是不是应该说ANSI呢?可以试试byte数组和strconvrt()
      

  4.   

    用strconvrt来实现也太晕了吧而且,真的连标签+数据都能一起转换么?
      

  5.   

    VB里的字符就是UNICODE的,楼上有兄弟说得很对。
      

  6.   

    楼主时不时想做个程序,在多语言平台上跑啊?最好使用资源文件,但假如不要求多语言界面,只是希望比如简体中文能够在多平台上正确显示的话,也可以用unicode简单处理主要看控件支持吧,vb自带的控件一般都没问题,第三方控件有些不行要出乱码strconvrt转换也会有一定的问题,很多字符,比如某些简体字在big5里面没有对应编码的,就会显示问号
      

  7.   

    //用strconvrt来实现也太晕了吧
    //而且,真的连标签+数据都能一起转换么?有什么好晕的,转换一次就可以了,又没说没完没了的转换
      

  8.   

    To fuxc(Michael(继续迷茫)) ,兄台说得太对了!
    我就是想做个程序,在多语言平台上跑,只要简体中文的界面在任何语言的操作系统上跑都能正确地显示出来就可以了。现在还没要求在繁体操作系统上要显示出繁体菜单和界面:)
    正如你所说,我以前在php中用strconv处理,是会出一些你说的问题的!但如何把VB设计的程序界面上的标签字符设置为UNICODE呢?
    请具体说一下吗?难道现在VB写的普通程序直接编译成exe后就真的坚持unicode了?
    怀疑中
    不过,我会去测试一下的。
      

  9.   

    不必怀疑,你用LENB检查你VB里的字符串就可以知道每个符号都是占用2BYTES的。所以只要目标机器有你使用的字符集就能正确显示(不过老外看不看得懂是另外的事了),不会乱码。
      

  10.   

    To province_(雍昊),会乱码!
    我在WINXP简体中文版SP2下编译的程序,放到WINXP英文版下运行,没有一个中文能完整地显示的!即使将区域选项设置为了简体中文或繁体中文都不行!直接设置的中文字标签:部分字显示为半角问号!
    用程序更改的中文字标签:部分字显示为半角问号!
    用strconv(简体中文,unicode)的标签:完整乱码!请高手们继续关注吧~~~
      

  11.   

    怪了,明明两台电脑上都有simsun.ttc啊。
    不过,中文XP上竟然有两个字体名称,一是小写的simsun.ttc英文名称,另一个是大写的SIMSUM.TTC为中文名称。而英文XP上只有小写的simsun.ttc英文名称。
    但我想,明明是只有一个文件名嘛,大小写在win上可是不区分的啊。咋回事呢~~
      

  12.   

    哈哈,fuxc(Michael(继续迷茫)) 说的是对的,确实是要将控件的字体设置为宋体!怪异的事情,默认的控件字体也不是宋体,可为什么能显示出一部分汉字,只是一部分为问号呢?
      

  13.   

    还有一个奇怪的地方是,区域设置的高级里的明明说是为非UNICODE程序设置本地化语言,那不就是说我的程序不是UNICODE的了嘛,可如果不设置成我编程时的语言,则会显示乱码,怪异!
      

  14.   

    我也碰到了同样的问题,关注中
    客户机器也是“纯”英文版,不能更改默认语言(也就是那个非unicode程序本地化语言)。用IE就可以显示中文,只要代码页指定正确,VB就不行,困惑中