RUNRET Cyrillic encoding problems
Posted: 05 Nov 2019 00:35
v20.50.0112
I've tried the
And I was surprised to see the half of Cyrillic symbols displayed as "?" (while the other half displayed correctly).
ECHO and TEXT have the same problem.
::text runret("net view")
The original text should be:
The message is notifying me that some of my SMB-shares is using SMB1 protocol (old and unsafe).
The first line should be:
XYplorer displays:
The default Windows codepage for console is 866 (CP866, OEM Russian, Cyrillic DOS)
I've tried different encoding combinations. No luck.
Other windows console commands (like DIR) have the same output (some Russian letters are displayed correctly, some are "?")
___________________________________________
So I made two sample folders named with Russian alphabet in lowercase and in uppercase.
1_абвгдеёжзийклмнопрстуфхцчшщъыьэюя
2_АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Here's how the output should look like (for some reason when switching from 866 to Unicode
Windows switches from Russian to English text):
Here's the output in XYplorer
Windows 1251 (traditional Windows Cyrillic encoding) gives "?" for every Cyrillic letter.
XYplorer is using the Windows default font Consolas (Courier New looks the same).
XYplorer Font dialog has some drop-down field for switching between Western/Cyrillic/etc (but this setting is not saved on OK).
No other XYplorer scripting command has any problems with Russian letters. Everything looks good except RUNRET.
XYplorer INI font settings:
Windows Command Prompt (CMD) Settings default (and current) encoding: 866 OEM Russian XYplorer Various Information:
System Locale ID: 1049 (ru-RU)
Thread Locale ID: 3072 (ru-UA)
Default ANSI Code Page: 1251 (ANSI - кириллица)
Active ANSI Code Page: 1251 (ANSI - кириллица)
Default OEM code page: 866 (OEM - русская)
Active OEM Code Page: 866 (OEM - русская)
Is DBCS Code Page: No
Main Contents Font: Segoe UI 8,25
No other Windows (or third-party) application has encoding problems.
Am I doing something wrong? Or there's some bug?
I've tried the
text runret("net view"); example from beta thread (Thanks for that by the way, the delay in handing unavailable network locations (symlinks) is much shorter now. Much appreciated.).And I was surprised to see the half of Cyrillic symbols displayed as "?" (while the other half displayed correctly).
ECHO and TEXT have the same problem.
::text runret("net view")
The original text should be:
The message is notifying me that some of my SMB-shares is using SMB1 protocol (old and unsafe).
The first line should be:
Системная ошибка 384.XYplorer displays:
С????мна? о????а 384The default Windows codepage for console is 866 (CP866, OEM Russian, Cyrillic DOS)
I've tried different encoding combinations. No luck.
Code: Select all
text runret("net view");
text runret("net view", , 866);
text runret("cmd /c chcp 866 & cmd /c net view", , 866);
___________________________________________
So I made two sample folders named with Russian alphabet in lowercase and in uppercase.
1_абвгдеёжзийклмнопрстуфхцчшщъыьэюя
2_АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Here's how the output should look like (for some reason when switching from 866 to Unicode
Windows switches from Russian to English text):
Here's the output in XYplorer
Code: Select all
text runret("cmd /c DIR C:\TEST");
text runret("cmd /c chcp 866 & cmd /c DIR C:\TEST", , 866);
text runret("cmd /c chcp 65001 & cmd /c DIR C:\TEST", , 65001);XYplorer is using the Windows default font Consolas (Courier New looks the same).
XYplorer Font dialog has some drop-down field for switching between Western/Cyrillic/etc (but this setting is not saved on OK).
No other XYplorer scripting command has any problems with Russian letters. Everything looks good except RUNRET.
XYplorer INI font settings:
Code: Select all
[Font]
Name=Segoe UI
MilliSize=8250
Bold=0
Italic=0
InterfaceFont=Segoe UI
InterfaceFontMilliSize=8250
MonospaceFont=Consolas
MonospaceFontMilliSize=11250
EditorFont=Consolas
EditorFontMilliSize=11250
ToolbarFont=Segoe UI
ToolbarFontMilliSize=8250
ApplyFontMain=31Windows Command Prompt (CMD) Settings default (and current) encoding: 866 OEM Russian XYplorer Various Information:
System Locale ID: 1049 (ru-RU)
Thread Locale ID: 3072 (ru-UA)
Default ANSI Code Page: 1251 (ANSI - кириллица)
Active ANSI Code Page: 1251 (ANSI - кириллица)
Default OEM code page: 866 (OEM - русская)
Active OEM Code Page: 866 (OEM - русская)
Is DBCS Code Page: No
Main Contents Font: Segoe UI 8,25
No other Windows (or third-party) application has encoding problems.
Am I doing something wrong? Or there's some bug?