Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在fs.readFile中忽略编码_Node.js - Fatal编程技术网

Node.js 在fs.readFile中忽略编码

Node.js 在fs.readFile中忽略编码,node.js,Node.js,我正在尝试读取节点中属性文件的内容。这是我的电话: fs.readFile("server/config.properties", {encoding: 'utf8'}, function(err, data ) { console.log( data ); }); 控制台打印一个缓冲区: <Buffer 74 69 74 69 20 3d 20 74 6f 74 6f 0a 74 61 74 61 20 3d 20 74 75 74 75> 它很好用。但是,如果在选项中传

我正在尝试读取节点中属性文件的内容。这是我的电话:

fs.readFile("server/config.properties", {encoding: 'utf8'}, function(err, data ) {
   console.log( data );
});
控制台打印一个缓冲区:

<Buffer 74 69 74 69 20 3d 20 74 6f 74 6f 0a 74 61 74 61 20 3d 20 74 75 74 75>
它很好用。但是,如果在选项中传递了编码,则表示字符串将转换为utf8

node--version的输出是v0.10.2

我错过了什么


感谢您的支持

根据您正在运行的节点的版本,参数可能只是编码:

fs.readFile("server/config.properties", 'utf8', function(err, data ) {
   console.log( data );
});
第二个参数更改为
选项

  • FS
    readFile()
    writeFile()
    appendFile()
    和它们的同步副本现在接受一个
    选项
    对象(但仍然支持一个
    编码
    字符串的旧API)
对于以前的文件:


您应该将
{encoding:'utf8'}
更改为{encoding:'utf-8'},例如:

fs.readFile("server/config.properties", {encoding: 'utf-8'}, function(err, data ) {
console.log( data );
});

这两种方法对我都有效。您可能正在使用旧版本的node?我使用的v0.10.1无论如何fs都不支持某些字符集,如
ISO-8859-1
,因此我不得不使用这个答案
fs.readFile("server/config.properties", {encoding: 'utf-8'}, function(err, data ) {
console.log( data );
});