Vbscript 脚本查询数据库,但不执行';无法获取unicode字符

Vbscript 脚本查询数据库,但不执行';无法获取unicode字符,vbscript,Vbscript,我有一个小的vbscript文件,用于查询mysql数据库并返回一个记录集,然后将其发送到excel 问题是记录集不返回俄语字符,它只为每个字符返回“?” 我的代码是 dim adoConn dim adoRS dim n set adoConn = Createobject("ADODB.Connection") set adoRS = Createobject("ADODB.Recordset") adoConn.Open "DRIVER={MySQL ODBC 3.51 Driver}

我有一个小的vbscript文件,用于查询mysql数据库并返回一个记录集,然后将其发送到excel

问题是记录集不返回俄语字符,它只为每个字符返回“?”

我的代码是

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
有谁能帮我一下吗?我就是无法在excel中显示unicode字符

非常感谢


戴夫

有许多可能的罪犯

  • 以简单的检查开始:开始-程序-MS Office Tools-MS Office语言设置=>是否启用俄语
  • 完整性:您可以使用“show variables”或“\s”来确保MySQL字符\u set\u client/connection/database/。。。那校勘呢?(我可以使用严格的utf8配置进行测试(在linux机器上)
  • 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") )
不,谢谢我:看起来真正重要的项目应该是:

  • 使用最新的软件组件

Hiii..我有同样的问题..但我可以从数据库中获取当前数据。但在excel单元格中显示时,它显示为???。。如果您有任何解决方案,请让我知道..要将Unicode数据传递到Ms sql server,我们需要使用NVarchar数据类型…和adVarWChar

问候,,
Liyo Jose。

我不认为是这样,因为当我使用Navicat查看mysql数据时,它会像预期的那样出现。此外,当我通过脚本(而不是从记录集中)将俄语文本添加到excel时,它会正确插入(我只插入一个俄语字符串)这与连接字符串有关吗?有没有办法告诉字符串它需要unicode字符?非常感谢您坚持我的观点!我已经运行了测试,第一个单元格显示了?????第二个单元格显示了正确的文本,第三个单元格显示了错误我刚刚更新到mysql odbc驱动程序5.1,请参阅ms已修复此问题。感谢您的帮助。Dave,您似乎已经偶然发现了此解决方案。在5.1版中,ODBC驱动程序中添加了完整的unicode支持。