Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unreadable error messages in console by non-Romanized text encoding locales #531

Open
VadimDor opened this issue Sep 6, 2017 · 0 comments
Labels

Comments

@VadimDor
Copy link

VadimDor commented Sep 6, 2017

Error messages in console are not readable at some locales with non-Romanized text encoding. E.g. by russian locale on Windows we have following for "some-build-command not found" error:
"some-build-command" �� ���� ����७��� ��� ���譥�
��������, �ᯮ��塞�� �ணࠬ��� ��� ������ 䠩���.
instead of
"some-build-command" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

The solution were to decode the message first in module sb-exec file index.js:
reject(new Error((new TextDecoder('IBM866')).decode(data.stderr[0]).trim()));
istead of (e.g. line 41)
reject(new Error(data.stderr.join('').trim()));

The same probably is valid also for stdout (e.g. line 59 there).

To set valid encoding for TextDecoder() is either up to user and should be added to configuration of the package, or some package to guess encoding from buffer probably could be used (e.g. this one https://github.com/sonicdoe/detect-character-encoding )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants