Написание текстовых файлов с помощью узла webkit

Я пытаюсь сделать что-то довольно простое: записать в файл текстовый файл с данными, введенными в поле ввода текста...

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 с и без набора параметров кодирования. Я пробовал createWriteStream с и без кодирования набора параметров. Я пробовал fileOpen, fs.writeSync и fs.close. Я даже пытался преобразовать дату в объект Buffer и записать это. В каждом случае я получал одинаковые результаты.

Кодировка тоже странная. Notepad++ указывает, что кодировка "UCS2-LE без спецификации", я ожидаю, что это будет UTF-8, так как я настраивал параметр кодирования на это.

Какие-нибудь мысли?

2 ответа

Решение
  1. Это ошибка в Node-Webkit-v0.9.*
  2. Это нормально, если вы используете Node-Webkit-v.8.* Или более позднюю версию.

После дополнительных исследований и определения того, что это было что-то с кодировкой, я наткнулся на этот пост. Видимо, utf8 не работает...

https://groups.google.com/forum/

Я изменил кодировку на "utf16le", и это похоже на правильное написание текста для жестко закодированного текста и текста из текстового поля.

Другие вопросы по тегам