2014-09-11 33 views
-1
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 


返回像 「東·」

enter image description here 我已經試過:
1.使用adodb.stream到查詢字符串轉換爲utf8,或以其他方式將查詢結果轉換爲unicode
2.執行「set names = unicode;」在查詢中
3.添加「charset = unicode;」在連接字符串時打開數據庫連接

但它們都不起作用,請你幫助我,謝謝!VBA ADODB查詢Mysql的返回字符腐敗

+0

如果使用'MySQL ODBC UNICODE Driver'而不是'ANSI',會出現什麼情況。在你的情況下, – cha 2014-09-11 01:04:53

+0

似乎是合理的,不知道最後一個字是什麼意思。歡迎您使用 – cha 2014-09-11 01:24:33

+0

「arigatou」=「謝謝」日文:) – johnn 2014-09-11 01:26:17

回答

1

它看起來像你正在使用UNICODE字符。請注意,ODBC驅動程序有兩種口味:ANSI和UNICODE。後者更適合你的情況。使用MySQL ODBC UNICODE Driver,你會很好。新曲加精選!

+0

非常感謝,您解決了我的問題! – johnn 2014-09-11 01:31:01