【问题标题】:How to write french accents to a file with Node.js如何使用 Node.js 将法语口音写入文件
【发布时间】:2020-05-23 23:18:59
【问题描述】:

我正在使用最新版本的 Node.js。 我正在尝试将使用常量构建的字符串写入文本文件。但是,此字符串包含我想要在文本文件中使用的重音符号。 这是一个例子:

const fs = require('fs'); // to read and write files

const labels = {
    partOne: 'blàblàblé',
    partTwo: 'blîblùblàblöx'
};

let stringo = labels.partOne + labels.partTwo;

// write stringo to a specific file
const filePath = `./licence${beatName}.txt`;
fs.writeFileSync(filePath, stringo, 'utf8', err => {});

不幸的是,重音被替换为不受欢迎的值。例如:

  • è 变成 ¨s
  • é 变成 ©

我尝试将我的 javascript 文件编码为 UTF-8,但没有成功。 如何将我的字符串编码为可用于我的目的的东西?谢谢!

【问题讨论】:

    标签: javascript node.js utf-8


    【解决方案1】:

    “é”和“©”相关:

    对于编码问题,通常不清楚哪个程序是对的,哪个是错的,因为你看到的一切都是对底层字节的解释。

    源文件可以正确编码为 UTF8,那么输出文件也应该是 UTF8,因为 Node.js 期望源文件和包含的字符串文字被编码为 UTF-8,而 fs.writeFileSync() 没有被指示转换为另一种编码。如果是这种情况,您用来验证输出文件的工具可能会将文件解释为 ISO-8859-1。

    您可以打开 JavaScript 源代码使用编辑器打开输出文件,该编辑器可以加载具有显式编码的文件(我熟悉 Visual Studio Code,命令面板中的命令“更改文件编码” ,然后是“Reopen with Encoding”(不是Save with Encoding,如果发现错误可以用于转换)。当前使用的编码显示在底部的状态栏中。p>

    或者使用十六进制编辑器打开这两个文件并检查错误字母的字节。

    【讨论】:

      猜你喜欢
      • 2020-12-28
      • 2023-03-15
      • 1970-01-01
      • 2015-08-25
      • 2016-08-29
      • 2018-07-04
      • 2014-03-25
      • 2017-11-28
      相关资源
      最近更新 更多