根据我的猜测你用的可能是英文字符,你如果用中文就会乱码。因为英文字符在Unicode中只是占后一个字节,前个字节为空字符,而
中文的占两个,把它拆开就会乱码

解决方案 »

  1.   

    根据我的猜测你用的可能是英文字符,你如果用中文就会乱码。因为英文字符在Unicode中只是占后一个字节,前个字节为空字符,而
    中文的占两个,把它拆开就会乱码
      

  2.   

    我的理解错误,sorry,你用Mid不就万事大吉
      

  3.   

    同意楼上的大侠
    str=mid(string,start,length)
      

  4.   

    没有程序啊?不是什么信不信的问题!要求应该很清楚了!好吧!据个例子:
    dim a as string
    dim b as stringa=“我的妈呀!救救我吧!”
    b=“abcdefghijklm”我要截取a和b使之在视觉上一样长,大家都知道用字节长度来看一个汉字的字节长度等于两个英文的字节长度,如果要使之在视觉上一样的话用字符长度去截取的话是做不到的。
      

  5.   

    我该你提议一下思路,这是我在dos下用tc显示中英文混合字符串用过的方法:
    1。使用StrConv(dd,vbFromUnicode)转换成内码,这样一个英文为一个字节,二中文为2个;
    2。在逐个字节浏览,判断个字节的第一位,如果为1则为中文的一个字节,连续2个一起显示侧为中文
      

  6.   

    用Midb是不行的,因为我VB不管中文和英文都是Unicode,所以你判断不出,就是用strConv也比较麻烦,其实你可以用form的textwidth的方法来判断同样的宽度不就行了。
      

  7.   

    用StrConV选好字符转换成字节形式不就行了。因为VB中的字符串是UniCode的即使是英文也是双字节,所以就出现了你所说是问题,另外,即使用用Midb得到的是字节VB也不会以乱码形式表现出来,可能就是什么也不显示。
      

  8.   

    其实呢,你说清楚PRG目的,方法很多。
      

  9.   

    thinkeasy(Nothing) :不是什么都显示不出,是显示一个"?"
      

  10.   

    好吧!范围在小一些是在vbscript中实现,我之所以在这问,是因为这儿的高手比较多。应该说vbscript是vb的子集吧!但好像在字符这方面不是:(