VBA ADODB查询MySQL返回字符损坏 [英] VBA ADODB Query Mysql returns character corruption
问题描述
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屋!