atom-build icon indicating copy to clipboard operation
atom-build copied to clipboard

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

Open VadimDor opened this issue 7 years ago • 0 comments

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 )

VadimDor avatar Sep 06 '17 11:09 VadimDor