VB数据库查询结果乱码的问题

ixibin 2019-11-19 06:55:54
有一句查询语句如下:
SELECT id FROM (SELECT 1 id UNION SELECT 2 UNION SELECT 3) t FOR XML PATH ('')

在SQL Server Management Studio 中查询的结果是
<id>1</id><id>2</id><id>3</id>



但是在VB中查询的结果是乱码,代码和结果如下:

Option Explicit

Private Sub Command1_Click()
Dim ct As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim s As String

On Error GoTo eh
s = "SELECT id FROM (SELECT 1 id UNION SELECT 2 UNION SELECT 3) t FOR XML PATH ('')"
ct.Open "Persist Security Info=True;Provider=SQLOLEDB.1;User ID=sa;Password=pwd;Data Source=server;Initial Catalog=test"
Set rs = ct.Execute(s)
Debug.Print rs.Fields(0).Name
Debug.Print rs.Fields(0).Value
Set rs = Nothing
Set ct = Nothing
Exit Sub

eh:
MsgBox Err.Description, , Err.Number
End Sub



请问是什么原因导致出现乱码?是字符集的原因吗?如何解决呢?谢谢!!
...全文
224 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ixibin 2019-11-27
  • 打赏
  • 举报
回复
好的,谢谢楼上的朋友
现在还是人类 2019-11-24
  • 打赏
  • 举报
回复
看看我的这几个博客了解一下转换过程(里面都有UTF-8的转换过程): https://blog.csdn.net/supermanking/article/details/5989227 https://blog.csdn.net/supermanking/article/details/3082860
ixibin 2019-11-23
  • 打赏
  • 举报
回复
引用 1 楼 脆皮大雪糕 的回复:
应该是字符集的问题,目测是返回的是UTF8 一种办法是换数据库的返回字符集,还有就是自己做UTF8转换。
谢谢!另外我还想请问一下怎么换数据库的返回字符集呢?
脆皮大雪糕 2019-11-19
  • 打赏
  • 举报
回复
应该是字符集的问题,目测是返回的是UTF8 一种办法是换数据库的返回字符集,还有就是自己做UTF8转换。

7,785

社区成员

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

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