VBA ADODB查询MySQL返回字符损坏 [英] VBA ADODB Query Mysql returns character corruption

查看:106
本文介绍了VBA ADODB查询MySQL返回字符损坏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Sub hh()
Dim sql As String
Dim rs As New ADODB.Recordset
Dim con As ADODB.Connection
Dim dbConnStr As String
dbConnStr = "Driver={MySQL ODBC 5.2 ANSI DRIVER}; SERVER=localhost; DATABASE=landscape; USER=root; PASSWORD=mypass;"
Set con = New ADODB.Connection
con.Open dbConnStr
sql = "SELECT '東京都' AS tokyou"
rs.Open sql, con
Debug.Print rs!tokyou
rs.Close
Set rs = Nothing
con.Close
Set con = Nothing
End Sub


返回东・"之类的内容

我试过了:
1.使用adodb.stream将查询字符串转换为utf8,否则将查询结果转换为unicode
2.执行设置名称= Unicode";在查询中
3.添加"charset = unicode;"打开数据库连接时在连接字符串中输入

但是它们都不起作用,请您帮我,谢谢!


Returns things like "東・ "

I've tried:
1. use adodb.stream to convert query string to utf8, or otherwise convert query result to unicode
2. excute "set names = unicode;" in query
3. add "charset=unicode;" in connection string while open database connection

but none of them works, could you please help me, thanks!

推荐答案

您似乎正在使用UNICODE字符.请注意,ODBC驱动程序有两种形式:ANSI和UNICODE.后者更适合您的情况.使用MySQL ODBC UNICODE Driver,您会很好.阿里加头!

It looks like you are using UNICODE characters. Please note that the ODBC driver comes in two flavours: ANSI and UNICODE. The latter is more appropriate to your situation. Use MySQL ODBC UNICODE Driver and you'll be good. Arigatou!

这篇关于VBA ADODB查询MySQL返回字符损坏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆