如何使用 nodejs 在控制台中打印 utf8 字符串
How can I print a utf8 string in the console using nodejs
我想使用 nodejs 在控制台中以保加利亚语打印一个字符串。我有一个 index.js 文件:
console.log('Текст на български.');
当我在控制台中 运行 它时:节点 index.js 它只打印 - '??????????'
我正在使用 Webstorm,我已将 IDE 和项目文件编码设置设置为 utf8。我也试过:
var strInBulgarian = 'Текст на български.';
console.log(strInBulgarian.toString('utf8'));
同样的结果。如果我 运行 在 nodejs REPL 中执行以下操作,我会得到正确的结果:
console.log('Текст на български.');
这让我相信我收到“????????”的原因是因为文件编码的原因,而是设置为utf8。有任何想法吗?这是 Webstorm 中设置的屏幕截图。
嗯,现在我将所有设置更改为 UTF8,我评论中的保加利亚语文本更改为“??????”在那之前都很好。有些事情肯定是不对的。当我从 Notepad++ 制作一个 index.js 文件并将编码设置为 utf8 时,我没有遇到任何问题。 Webstorm 的设置有问题。
如果您使用的是标准 Windows 命令提示符,您需要确保使用的是 UTF8 代码页 (chcp 65001
) 并且您使用的是 Lucida 控制台字体而不是光栅字体。
进行这些更改后,无论是在 REPL 中还是从文件中执行时,文本对我来说都显示得很好。
Webstorm 的"Project Encoding" 设置似乎只适用于新添加的文件。从您的屏幕截图(见右下角)来看,您的个人文件仍然使用 Windows-1252。您需要手动让 Webstorm 将每个文件解释为 UTF-8。
打开相关文件后,通过 window 右下角的下拉菜单:
或通过'File Encodings'设置window本身:
另一种可能是直接修改项目目录中的 .idea/encodings.xml
文件,但我不会在那里详细介绍。
我想使用 nodejs 在控制台中以保加利亚语打印一个字符串。我有一个 index.js 文件:
console.log('Текст на български.');
当我在控制台中 运行 它时:节点 index.js 它只打印 - '??????????' 我正在使用 Webstorm,我已将 IDE 和项目文件编码设置设置为 utf8。我也试过:
var strInBulgarian = 'Текст на български.';
console.log(strInBulgarian.toString('utf8'));
同样的结果。如果我 运行 在 nodejs REPL 中执行以下操作,我会得到正确的结果:
console.log('Текст на български.');
这让我相信我收到“????????”的原因是因为文件编码的原因,而是设置为utf8。有任何想法吗?这是 Webstorm 中设置的屏幕截图。
嗯,现在我将所有设置更改为 UTF8,我评论中的保加利亚语文本更改为“??????”在那之前都很好。有些事情肯定是不对的。当我从 Notepad++ 制作一个 index.js 文件并将编码设置为 utf8 时,我没有遇到任何问题。 Webstorm 的设置有问题。
如果您使用的是标准 Windows 命令提示符,您需要确保使用的是 UTF8 代码页 (chcp 65001
) 并且您使用的是 Lucida 控制台字体而不是光栅字体。
进行这些更改后,无论是在 REPL 中还是从文件中执行时,文本对我来说都显示得很好。
Webstorm 的"Project Encoding" 设置似乎只适用于新添加的文件。从您的屏幕截图(见右下角)来看,您的个人文件仍然使用 Windows-1252。您需要手动让 Webstorm 将每个文件解释为 UTF-8。
打开相关文件后,通过 window 右下角的下拉菜单:
或通过'File Encodings'设置window本身:
另一种可能是直接修改项目目录中的 .idea/encodings.xml
文件,但我不会在那里详细介绍。