2012-01-06 4 views
0

私はmysqlデータベースを照会し、次に送信したレコードセットを返す小さなvbscriptファイルを持っています。スクリプトクエリーデータベースはユニコード文字を取得しません

問題は、レコードセットがロシア文字を返さず、 "?"だけを返すことです。それぞれのキャラクターのために。

私のコードは、誰もが私はエクセルで示すUnicode文字を取得することはできません、これで私を助けてもらえ

dim adoConn 
dim adoRS 
dim n 

set adoConn = Createobject("ADODB.Connection") 
set adoRS = Createobject("ADODB.Recordset") 

adoConn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=server1;DATABASE=dbtest;USER=root;PASSWORD=daveeades;OPTION=3;" 

adoRS.ActiveConnection = adoConn 

n=1 
if adoConn.errors.count = 0 then 
'now get all necessary text comments 
adoRS.Open "SELECT `tbllaunchdata`.`fldResponse` FROM `tbllaunchdata`" 

Set objExcel = CreateObject("Excel.Application") 
objExcel.Visible = True 
objExcel.Workbooks.Add 

While (Not adoRS.EOF) 
    objExcel.Cells(n, 1).Value = adoRS("fldResponse") 
    n = n + 1 
    adoRS.Movenext() 
Wend 
end if 
adoRS.close 
set adoRS=nothing 
adoConn.close 
set adoConn=nothing 

です。

感謝

デイブ

答えて

0

多くの可能性のある犯人があります。

  • スタート - プログラム - MS Officeツール - Ms Office Languge設定=>ロシア語は有効になっていますか?
  • 完全性:MySQLのcharacter_set_client/connection/database/...と照合順序を確認するために "show variables"または "\ s"を使用できますか? (私は、Linuxマシン上の厳格なUTF8の設定とテスト()
  • WRTのコメントを行うことができます!の私に

    Dim sTest : sTest = "expected russian string" 
    adoRS.Open "SELECT `tbllaunchdata`.`fldResponse` FROM `tbllaunchdata`" 
    
    Set objExcel = CreateObject("Excel.Application") 
    objExcel.Visible = True 
    objExcel.Workbooks.Add 
    
    objExcel.Cells(0, 1).Value = adoRS("fldResponse") 
    objExcel.Cells(1, 1).Value = sTest 
    objExcel.Cells(2, 1).Value = CStr(sTest = adoRS("fldResponse")) 
    

    ませ感謝:あなたはこの

航空のコードのようなテストを行うことができます:本当の重要な項目があるべきようになっています!

  • 使用、最新のソフトウェア・コンポーネント
+0

Navicatを使用してmysqlデータを表示したときと同じように、予想通りに表示されるとは思いません。また、私は(レコードセットからではなく)私のスクリプトを介してExcelにロシアのテキストを追加すると、正しく挿入されます(私はちょうどロシア語の文字列を挿入します) – Dave

+0

接続文字列とは何ですか?文字列にユニコード文字を期待する必要があることを伝える方法はありますか? – Dave

+0

こんにちは!私はテストを実行し、最初のセルは??????を表示します2番目のセルに正しいテキストが表示され、3番目のセルにFALSEが表示されます – Dave

0

Hiii ..私は同じ問題があります。しかし、私はDBからcurrectデータを得ることができます。しかし、それをexcelのセルに表示している間、それは????として表示されます。もし解決策があれば教えてください.. UnicodeデータをMs SQLサーバーに渡すには、advarWCharを使用してNVarcharデータ型を使用する必要があります。

よろしくおねがいします。 Liyo Jose。

関連する問題