使用VBS将sql_latin1_general_cp1_ci_as字符串转换为utf8

时间:2011-03-10 16:03:37

标签: sql-server xml encoding utf-8 vbscript

我必须编写一个脚本,将sql_latin1_general_cp1_ci_as中的MSSQL Server数据库中的字符串转换为XML文件中的值,该文件采用UTF8编码。 有没有人知道如何在VBS中做什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可能需要为问题添加更多上下文,但第一个答案是使用ADODB查询数据库,将XML加载到MSXML2中,使用XPath选择要添加结果的节点将字符串作为节点文本插入。

''#open the data
dim ado: set ado = CreateObject("ADODB.Connection")
ado.ConnectionString = "..."
ado.open
dim rs: set rs = ado.Execute("SELECT TOP 1 your_string FROM your_data_table")

''#open the XML
dim xmldoc: set xmldoc = CreateObject("MSXML2.DomDocument")
xmldoc.async = false
xmldoc.setProperty "SelectionLanguage", "XPath"
''# you might also need setProperty "SelectionNamespaces", "xmlns=..." depending on your XML 
xmldoc.load "path\to\your\XML"

''# store the string in the XML and save
xmldoc.selectSingleNode("//xpath/to/your/target/node").text = rs.fields["your_string"].value
xmldoc.save "path\to\your\output\xml"

rs.close
ado.close

如果您已经在这一点,请告诉我您是否遇到任何具体问题