0

我正在使用 nodeJs npm fs模块使用utf-8 编码读取和写入文件。文件读写操作成功完成。但是当我在 Windows 写字板中打开文件时,摄氏度(°C)符号为(°C)。如果我在 VS 代码编辑器中打开相同的文件并且记事本摄氏度(°C)符号正确,则问题仅出在 Windows 写字板应用程序上。

这是节点 Js 中的文件写入代码。

var fs = require('fs');    
let data="Temperature is 25°C";
fs.writeFile("./output.txt", data, 'utf8', function (err) {
        if (err) {
          console.error("Error while writing the output file");
        } else {
          console.log("File write operation done!");
        }
});
4

1 回答 1

1

在我看来,word pad 认为您的文件是用 Latin1 (iso-8859-1) 或 Windows-1252 编码的。这些字符编码每个字符使用一个字节,因此它会使 utf8 unicode 内容错误。

最佳解决方法:使用记事本或记事本++,与写字板告别。

这是一种调整文件的方法,以便各种应用程序知道它是 unicode。https://superuser.com/questions/1275925/make-wordpad-properly-open-a-utf-8-or-utf-16-encoded-file

于 2020-05-21T10:41:36.753 回答