VB拼接字符串添加中文后,后面的字符无法添加进去。

时间:2022-04-28 19:55:10
VB拼接字符串添加中文后,后面的字符无法添加进去。
循环给strPacket append字符串,当字符串中出现汉字时,后面的就append不上了。有很多行。
比如:
aaa  ffcf fffc
Ffc frf gfvf
汉字汉字
Sxsssxcd
一行一行的读,放到strline中,添加完汉字后,Sxsssxcd就append不上了。

7 个解决方案

#1


看看下面代码输出什么,要是能看到汉字,说明你的代码有问题:
Sub test()
    Dim i As Integer, w1 As String
    w1 = ""
    For i = 1 To 10
        w1 = w1 & IIf(w1 <> "", vbCrLf, "") & IIf(i Mod 2 = 0, "我们 ", CStr(i))
    Next
    Debug.Print w1
End Sub

#2


VB6的字符串连接运算 & 
不管是中文还是西文,甚至中西混合,都能正确连接的!

建议楼主还是设个断点,单步跟踪一下,看运算过程出了什么错。

#3


VB拼接字符串添加中文后,后面的字符无法添加进去。
i是9到12,可以确定程序是没有问题的。中文的前面和后面有这两个字符\u000f   \u000e

#4


VB拼接字符串添加中文后,后面的字符无法添加进去。
i是9到12,可以确定程序是没有问题的。中文的前面和后面有这两个字符\u000f   \u000e 


引用 1 楼 Topc008 的回复:
看看下面代码输出什么,要是能看到汉字,说明你的代码有问题:
Sub test()
    Dim i As Integer, w1 As String
    w1 = ""
    For i = 1 To 10
        w1 = w1 & IIf(w1 <> "", vbCrLf, "") & IIf(i Mod 2 = 0, "我们 ", CStr(i))
    Next
    Debug.Print w1
End Sub

#5


控制字符 Shift-In (0x0E) 和 Shift-Out (0x0F) 对中间的字符会被用不同的编码进行处理(不同的系统下可能处理方式不一样),
所以不按照原始的中文输出是很正常的结果啊!

#6


引用 5 楼 Tiger_Zhao 的回复:
控制字符 Shift-In (0x0E) 和 Shift-Out (0x0F) 对中间的字符会被用不同的编码进行处理(不同的系统下可能处理方式不一样),
所以不按照原始的中文输出是很正常的结果啊!


全是英文就是正常的,为什么添加中文后,就append不上了~

#7


要问你的系统了,Shift-In 和 Shift-Out 对中文是怎么处理的?

#1


看看下面代码输出什么,要是能看到汉字,说明你的代码有问题:
Sub test()
    Dim i As Integer, w1 As String
    w1 = ""
    For i = 1 To 10
        w1 = w1 & IIf(w1 <> "", vbCrLf, "") & IIf(i Mod 2 = 0, "我们 ", CStr(i))
    Next
    Debug.Print w1
End Sub

#2


VB6的字符串连接运算 & 
不管是中文还是西文,甚至中西混合,都能正确连接的!

建议楼主还是设个断点,单步跟踪一下,看运算过程出了什么错。

#3


VB拼接字符串添加中文后,后面的字符无法添加进去。
i是9到12,可以确定程序是没有问题的。中文的前面和后面有这两个字符\u000f   \u000e

#4


VB拼接字符串添加中文后,后面的字符无法添加进去。
i是9到12,可以确定程序是没有问题的。中文的前面和后面有这两个字符\u000f   \u000e 


引用 1 楼 Topc008 的回复:
看看下面代码输出什么,要是能看到汉字,说明你的代码有问题:
Sub test()
    Dim i As Integer, w1 As String
    w1 = ""
    For i = 1 To 10
        w1 = w1 & IIf(w1 <> "", vbCrLf, "") & IIf(i Mod 2 = 0, "我们 ", CStr(i))
    Next
    Debug.Print w1
End Sub

#5


控制字符 Shift-In (0x0E) 和 Shift-Out (0x0F) 对中间的字符会被用不同的编码进行处理(不同的系统下可能处理方式不一样),
所以不按照原始的中文输出是很正常的结果啊!

#6


引用 5 楼 Tiger_Zhao 的回复:
控制字符 Shift-In (0x0E) 和 Shift-Out (0x0F) 对中间的字符会被用不同的编码进行处理(不同的系统下可能处理方式不一样),
所以不按照原始的中文输出是很正常的结果啊!


全是英文就是正常的,为什么添加中文后,就append不上了~

#7


要问你的系统了,Shift-In 和 Shift-Out 对中文是怎么处理的?