+ -
当前位置:首页 → 问答吧 → winsock传送字符串编码的问题

winsock传送字符串编码的问题

时间:2011-07-30

来源:互联网

VB code
Winsock.SendData string & vbCrLf

string 为一般赋值,未做过编码设置,都说vb的字符串编码是unicode的,但经测试:

在简体中文操作系统中Winsock.SendData此字符串是以 gb2312 编码发送的
在韩文操作系统中Winsock.SendData此字符串是以 EUC_KR 编码发送的

因为客户端只有用以上编码收取字符串才不会出现乱码。

有什么办法可以统一成一种编码发送吗?最好是 utf-8 编码

尝试过 Winsock.SendData StrConv((string & vbCrLf), vbUnicode) 不行,失败
还有将 string 通过 adodb.stream 以 utf-8 编码写入一个临时文本文件,再以 utf-8 读出再发送,还是不行

作者: itakeblue   发布时间: 2011-07-30

建议你用字节的方法发送,先把要发送的文字转换为字节数组,然后发送

作者: greatbody   发布时间: 2011-07-30

字节发送就不用考虑编码问题了?

dim tmp() as byte
tmp(0) = "this is test string"
winsock SendData tmp(0)

发送端这样写对吗?

作者: itakeblue   发布时间: 2011-07-30