Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 使用ms xml 6.0支持utf16_Vba_Excel_Msxml_Utf - Fatal编程技术网

Vba 使用ms xml 6.0支持utf16

Vba 使用ms xml 6.0支持utf16,vba,excel,msxml,utf,Vba,Excel,Msxml,Utf,我正在用法语删除一个网站的数据。我使用的是MS XML 6.0,有些字母无法正确识别 (例如) 代码: Dim xml_obj As XMLHTTP Set xml_obj = New XMLHTTP xml_obj.Open "GET", "http://www.emploi.nat.tn/fo/Fr/global.php?page=146&menu1=&FormLinks_Sorting=1&FormLinks_Sorted=&num_page=0&l

我正在用法语删除一个网站的数据。我使用的是MS XML 6.0,有些字母无法正确识别 (例如)

代码:

Dim xml_obj As XMLHTTP
Set xml_obj = New XMLHTTP
xml_obj.Open "GET", "http://www.emploi.nat.tn/fo/Fr/global.php?page=146&menu1=&FormLinks_Sorting=1&FormLinks_Sorted=&num_page=0&limit=500&numpage=1", False
xml_obj.send
Dim htmldoc As New HTMLDocument
htmldoc.body.innerHTML = xml_obj.responseText


responseText以UTF-8编码。有什么解决方法吗?

您首先需要解码页面,因为编码是
windows-1256
。然后直接在文档中而不是正文中编写html:

Sub UsageExample()

    Dim req As New MSXML2.ServerXMLHTTP60  ' Microsoft XML, v6.0 '
    req.Open "GET", "http://www.emploi.nat.tn/fo/Fr/global.php?page=146&menu1=&FormLinks_Sorting=1&FormLinks_Sorted=&num_page=0&limit=500&numpage=1", False
    req.Send

    Dim doc As New MSHTML.HTMLDocument     ' Microsoft HTML Object Library '
    WriteDocument doc, req.responseBody, "windows-1256"

End Sub

Private Sub WriteDocument(document As Object, data, charset As String)
    Dim stream As New ADODB.stream   ' Microsoft ActiveX Data Objects 6.1 Library '
    stream.Open
    stream.Type = 1
    stream.Write data
    stream.Position = 0
    stream.Type = 2
    stream.charset = charset

    document.Open
    document.Write stream.ReadText
    document.Close

    stream.Close
End Sub

请将代码和数据共享到repo…@Cindymister:我已经添加了代码。完美这正是我想要的!