簡體   English   中英

node.js中的特殊字符readdir()

[英]Special characters in node.js readdir()

我在node.js中運行這段代碼,以便查看目錄中的文件並查看其統計信息:

var getFiles = function (dir, done) {
  fs.readdir(dir, function (err, files) {
    if (err) return done(err);
    var pending = files.length;
    files.forEach(function (file) {
      fullPath = dir + "/" + file;
      console.log(fullPath);
      fs.stat(fullPath, function (err, stat) {
        if (err) {
          console.log("Stat error");
        } else if (stat && stat != undefined) {
          console.log("Success");
        }
      });
    });
  });
}

我的問題是文件名包含特殊字符。 我是瑞典人,所以有很多å,ä和ö。 在輸出大多數文件名時,fullPath的輸出是正確的,但是只要文件名包含特殊字符,該字符就會顯示為“?”,然后fs.stat失敗,原因是它找不到文件。 我錯過了什么? 我正在Windows上運行v0.5.7版本。
提前致謝。

我認為問題在於Windows將文件名編碼為ISO,但是節點將其讀取為utf8。 嘗試使用iconv從iso轉換為utf8。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM