вывод vbscript на иврите - PullRequest
1 голос
/ 05 мая 2020

У меня есть этот файл VBS:

Dim retval 
retval = InputBox("חיפוש - הכנס את מילת החיפוש","Setting Membership Club") 

If IsEmpty(retval) Then 
    'cancelled 
    WScript.Echo ("EXITSP1") 
Else 
    'something has entered even zero-length 
    WScript.Echo retVal 
End If 

и вот как я его называю:

cscript //nologo D:\inputbox.vbs > D:\outputbox.txt

Но файл outputbox.txt приведет меня к Гибри sh

Я хочу, чтобы это было на иврите

input box screenshot showing Hebrew

result file screnshot showing garbage

1 Ответ

1 голос
/ 05 мая 2020

Не используйте перенаправление оболочки для записи выходного файла. Вы можете заставить его работать, но это зависит от слишком многих факторов, которые ваша программа не может контролировать для надежной работы, и поэтому это вызовет все виды головной боли.

Используйте FileSystemObject и скажите ему написать Unicode файл.

Dim FSO, retval, outFile
Set FSO = CreateObject("Scripting.FileSystemObject")

'                 CreateTextFile(filename, [overwrite, [unicode]])
Set outFile = FSO.CreateTextFile("outputbox.txt", True, True)

retval = InputBox("חיפוש - הכנס את מילת החיפוש", "Setting Membership Club") 
If IsEmpty(retval) Then
    outFile.Write "EXITSP1"
Else
    outFile.Write retval
End If

outfile.Close

Документация для объекта FileSystemObject (и метода CreateFile): https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/createtextfile-method

...