我正在尝试做一件相当简单的事情:用在文本输入字段中输入的数据编写一个文本文件。。。
var data = document.getElementById("fileContent").value;
fs.writeFileSync("test.txt", data);
例如,如果我输入
Write this to file 123 123
我最终在文件中看到了这个。。。
Write this to
如果我把一个字符串硬编码到应用程序中,它就会正确写入。
fs.writeFileSync("test.txt", "this is a hard coded string");
我尝试在有编码参数集和没有编码参数集的情况下使用writeFileSync。我尝试过在对参数集进行编码和不进行编码的情况下创建WriteStream。我试过fileOpen、fs.writeSync和fs.close。我甚至试过将日期转换为Buffer对象并编写它。在每种情况下,我都得到了完全相同的结果。
编码也很奇怪。Notepad++表示编码是"UCS2-LE w/o BOM",我希望它是UTF-8,因为我已经将编码参数设置为UTF-8。
有什么想法吗?
- 这是Node-Webkit-v0.9的一个错误*
- 如果您使用Node-Webkit-v.8.*或更低版本,也可以
经过更多的研究并确定这是编码问题,我偶然发现了这篇文章。显然,utf8不起作用。。。
https://groups.google.com/forum/#!消息/节点网络工具包/3M-0v92o9Zs/eSYnSZ8dUK0J
我将其编码更改为"utf16le",这似乎可以正确地为硬编码文本和文本框中的文本编写文本。