【发布时间】:2015-07-04 12:24:14
【问题描述】:
我想使用 nodejs 在控制台中以保加利亚语打印一个字符串。我有一个 index.js 文件:
console.log('Текст на български.');
当我在控制台中运行它时: node index.js 它只打印 - '??????????' 我正在使用 Webstorm,并且已将 IDE 和项目文件编码设置设置为 utf8。我也试过了:
var strInBulgarian = 'Текст на български.';
console.log(strInBulgarian.toString('utf8'));
同样的结果。如果我在 nodejs REPL 中运行以下命令,我会得到正确的结果:
console.log('Текст на български.');
这让我相信我得到 '???????' 的原因是因为文件编码的原因,但是设置为utf8。有任何想法吗?这是 Webstorm 中设置的屏幕截图。
嗯,现在我将所有设置更改为 UTF8,我的 cmets 中的保加利亚语文本更改为“?????”在那之前很好。某某肯定是不对的。当我从 Notepad++ 制作 index.js 文件并将编码设置为 utf8 时,我没有遇到任何问题。 Webstorm 的设置有问题。
【问题讨论】:
-
您是否使用普通控制台而不是 Webstorm 对其进行了测试?
-
我使用的是默认的 windows 命令提示符,而不是 Webstorm 的控制台。我只是在 Webstorm 中编写代码。
-
您是否尝试单击 js 文件的
Default Encoding字段并将其显式设置为 UTF8?或者试试File->File encoding菜单,把打开的文件改成UTF8来转换文件? -
是的,我尝试在 .coffee 和 .js 文件上从“文件”菜单设置文件结束编码,但仍然没有帮助。
标签: node.js string encoding utf-8