2014-09-11 3 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로 쿼리 문자열을 변환하거나하기를 쿼리 결과를 유니 코드로 변환
2. excute "set names = unicode;" in query
3. "charset = unicode;"를 추가하십시오. 연결 문자열에서 데이터베이스 연결을 열고있는 동안

그러나 그 중 아무 것도 작동하지 않습니다. 제발 도와주세요, 고마워요!VBA ADODB 쿼리 MySQL의 문자 손상을 반환

+0

'ANSI '대신'MySQL ODBC UNICODE Driver'를 사용하면 어떨까요? 귀하의 경우에있어서 – cha

+0

의 마지막 단어가 무엇인지 확실하지 않습니다. 당신은 환영합니다 – cha

+0

"감사합니다"= 일본어 : – johnn

답변

1

유니 코드 문자가 사용 된 것 같습니다. ODBC 드라이버는 ANSI와 UNICODE라는 두 가지 형태로 제공됩니다. 후자가 귀하의 상황에 더 적합합니다. MySQL ODBC UNICODE Driver을 사용하면 좋을 것입니다. 아리가 투!

+0

대단히 고맙습니다, 당신은 내 문제를 해결했습니다! – johnn