Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

[WSH] How to properly run non English scripts in English Windows?

Status
Not open for further replies.

jaejunks

Technical User
Feb 24, 2020
1
0
0
ID
For example, below simple `test.vbs` code displays some Cyrillic characters, but was encoded using ANSI encoding with Cyrillic code page 1251.

Code:
wscript.echo "БГДЖЗИЙ"

The file's binary data:

Code:
77 73 63 72 69 70 74 2E 65 63 68 6F 20 22
C1 C3 C4 C6 C7 C8 C9
22 0D 0A

In English Windows' Notepad, the code shows as:

Code:
wscript.echo "ÁÃÄÆÇÈÉ"

When run with CSCRIPT from the command prompt, it'll displays the incorrect characters:

Code:
ÁÃÄÆÇÈÉ

I've tried switching to code page 1251 using the CHCP command like below, but the result is the same. e.g.

Code:
chcp 1251
cscript test.vbs

I also found out about the undocumented `//CP` command line switch to specify a code page, but it's not clear to which/what part(s) does that switch applies to. Anyone know?

Anyway... I've also tried using that switch like below, but still same result.

Code:
cscript //cp:1251 test.vbs

And combine it with the `chcp` command. e.g.

Code:
chcp 1251
cscript //cp:1251 test.vbs

I've also tried other Cyrillic code pages 21866 and 866, but same thing.

So, how to properly run the script so that it'll display the correct Cyrillic characters? Without changing the script file encoding to UTF16, or modifying it in any way.
 
Use the unicode equivalents of the characters
Code:
letters = array(&H411, &H413, &H414, &H416, &H417, &H418, &H419)
cyrillic = ""
for i = lbound(letters) to ubound(letters)
    cyrillic = cyrillic & chrw(letters(i))
next
wscript.echo cyrillic
 
Alternatively, change the encoding of your original script to unicode (ucs2 LE) before saving it. You don't need to change the codepage. Change the font to Lucida Console.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top