节点中的阿拉伯文字编码

时间:2016-06-15 09:09:19

标签: javascript node.js

我正在从node.js创建一个文件并在其中插入阿拉伯文本,但输出是垃圾文本而不是阿拉伯文本

    var fs = require('fs');
    fs.writeFile('message.txt', 'تمكين و تطوير جمعيات إسكان تعاونية لبناء المساك')

Output Image

4 个答案:

答案 0 :(得分:1)

想出问题,我使用webstorm作为IDE并从webstorm创建js文件默认情况下它的创建文件在ancsi编码中我只是改变我的js文件的编码及其工作正常现在无论如何感谢您的快速帮助

答案 1 :(得分:0)

您是否尝试使用mmap附加参数?

options

答案 2 :(得分:0)

当运行相同的js样本然后运行cat message.txt时,我得到了阿拉伯语输出。 运行file message.txt会返回UTF-8 Unicode text, with no line terminators,这也是预期的。

我的猜测是这与记事本不支持utf8有关。当我在Ubuntu上使用gedit打开文件时,它显示阿拉伯语就好了。

答案 3 :(得分:0)

您可以在选项中添加编码,如下所示

fs.writeFile('message.txt', 'تمكين و تطوير جمعيات إسكان تعاونية لبناء المساك', {encoding: 'utf8'});

另外,你确定记事本首先显示阿拉伯文字吗? 尝试使用Web浏览器(chrome,FF)打开它并将编码设置为UTF-8(通常在开发人员菜单下找到)

Reference