You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Linux zzo38computer 3.2.0-87-generic #125-Ubuntu SMP Fri Jun 19 08:25:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Subsystem
No response
What steps will reproduce the bug?
Set LANG=C and a non-Unicode terminal.
Input non-Unicode text in the REPL, or using the readline interface (the example in the documentation is suitable to reproduce this bug).
Enter strings with escapes in the REPL such as "\x8A" or "\x9A".
(I don't know what console.table does, since I do not have that version of Node.js.)
How often does it reproduce? Is there a required condition?
If the locale and/or terminal emulator is not Unicode, e.g. set the environment variable LANG=C.
What is the expected behavior?
My suggestions are:
The problem with input probably cannot be fixed for the REPL. (But, for the readline function, this could be made an option.)
For output in the REPL, check for a non-Unicode locale and always display escaped codes in that case, like it already does for ASCII control codes. (This also improves security in the case of homoglyphs, etc; this way, you can change the locale if you are concerned about such a thing.)
For output using console.log, the existing behaviour is probably acceptable; if you need non-Unicode output then you can use the other functions to output instead, so probably this does not need to be fixed.
What do you see instead?
Input in the REPL that does not match the input that I typed (it replaces my input with a Unicode replacement character, which is then displayed incorrectly).
Broken output (if it contains any non-ASCII characters and is not being redirected to a file).
(I do not know what console.table does, since I do not have that version of Node.js)
Additional information
The locale will not always be Unicode; you should not incorrectly assume that it is.
The text was updated successfully, but these errors were encountered:
Version
v6.11.0
Platform
Linux zzo38computer 3.2.0-87-generic #125-Ubuntu SMP Fri Jun 19 08:25:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Subsystem
No response
What steps will reproduce the bug?
Set
LANG=C
and a non-Unicode terminal.Input non-Unicode text in the REPL, or using the
readline
interface (the example in the documentation is suitable to reproduce this bug).Enter strings with escapes in the REPL such as
"\x8A"
or"\x9A"
.(I don't know what
console.table
does, since I do not have that version of Node.js.)How often does it reproduce? Is there a required condition?
If the locale and/or terminal emulator is not Unicode, e.g. set the environment variable
LANG=C
.What is the expected behavior?
My suggestions are:
The problem with input probably cannot be fixed for the REPL. (But, for the
readline
function, this could be made an option.)For output in the REPL, check for a non-Unicode locale and always display escaped codes in that case, like it already does for ASCII control codes. (This also improves security in the case of homoglyphs, etc; this way, you can change the locale if you are concerned about such a thing.)
For output using
console.log
, the existing behaviour is probably acceptable; if you need non-Unicode output then you can use the other functions to output instead, so probably this does not need to be fixed.What do you see instead?
Input in the REPL that does not match the input that I typed (it replaces my input with a Unicode replacement character, which is then displayed incorrectly).
Broken output (if it contains any non-ASCII characters and is not being redirected to a file).
(I do not know what
console.table
does, since I do not have that version of Node.js)Additional information
The locale will not always be Unicode; you should not incorrectly assume that it is.
The text was updated successfully, but these errors were encountered: