因此,在23年没有编程之后,我决定开始学习Javascript。我正在尝试编写一个程序来读取我的音乐文件,并根据特定目录中的文件创建一个HTML页面。
它进展顺利,直到我找到包含变音符号的文件名(如é、ü、ø等(。
例如:AndréHazes变成:Andrá©Hazes
例如:Andrea Bocelli&Sarah Brightman-是时候说再见了[Con Te Partirå](单曲(变身Andrea Bocelli&Sarah Brightman-是时候说再见了〔Con Te Partiroμ€〕(单曲(
我创建的链接不再工作
我用来创建HTML语句的命令是:
<td><a href="${item.vDir}/${item.vFilename}">${item.vFilename}</a></td>
这是我用来从文件系统读取文件的代码。我使用的是Mac操作系统Catalina,所以基本上是Unix的变体。
// List all files in a directory in Node.js recursively in a synchronous fashion
var ReadDirFiles = function(pdir, pfilelist) {
files = vFileSystem.readdirSync(pdir,"utf-8");
filelist = pfilelist;
files.forEach(function(file) {
if (vFileSystem.statSync(pdir + '/' + file).isDirectory()) {
filelist = ReadDirFiles(pdir + '/' + file, filelist);
}
else {
vstats = vFileSystem.statSync(pdir + '/' + file);
// debug info
// console.log(vstats);
filelist.push({vFilename: file, vDir: pdir, vBirthtime: formatDate(vstats.birthtime), vSize: vstats.size});
}
});
return filelist;
};
这是我用来将输出写入磁盘的语句,结果发现问题出在写入语句中:
fs.writeFileSync(buildPathHtml.buildPathHtml(), html);
当输出被写回磁盘时,变音符号发生转换。
有人知道如何使用变音符号的诀窍吗?
尝试在脚本中使用编码和解码函数。在Javascript中有很多函数可以做到这一点,只需使用您需要的即可。对于完整的编码/解码,您可以在脚本中使用(或仅复制粘贴(中建议的代码https://www.strictly-software.com/htmlencode/.有一个小的编码Javascript库来完成这项工作(encoder.js(
也许您的文件系统不是基于utf8的。我在某个地方读到它是Mac的Western
。