WScript.Shell читать вывод в UTF8 - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь прочитать вывод из возвращаемого значения WScript.Shells Exec. Некоторые строки содержат китайские / немецкие / кириллические символы Как это:

Glas F ü R Rahmen

Проблема в том, что я получаю "неправильные" символы в моем скрипте VBA.

Могу ли я изменить кодировку моего StdOut? Разработчик исполняемого файла, который я запускаю через WScript.Shell, гарантировал, что вывод будет UTF8. Если я запускаю исполняемый файл в CMD, я вижу правильные символы.

Private oShell As Variant

Private Sub Class_Initialize()
    Set oShell = CreateObject("WScript.Shell")
End Sub

Public Function StartExeAndGetOutput(executable As String, arguments As String) As String
    Dim returnValue As Object

    Set returnValue = oShell.Exec(executable & " " & arguments)

    Dim oOutput As Object
    Set oOutput = returnValue.StdOut

    Dim s As String
    Dim sLine As String
    While Not oOutput.AtEndOfStream
        sLine = oOutput.ReadLine
        If sLine <> "" Then s = s & sLine & vbCrLf
    Wend

    StartExeAndGetOutput = s
End Function

1 Ответ

0 голосов
/ 30 марта 2019

К сожалению, вы не можете понять, что такое набор символов, и их можно «разыграть» или «преобразовать» для UTF-8, что за стандартный вывод?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...