0

今天我将我的node.exe升级到最新版本:0.10.0。但是发现一个奇怪的问题:无法发送中文字符,代码是:

master.js:

//master.js
var cp = require('child_process');

var n = cp.fork(__dirname + '/sub.js');

n.on('message', function(m) {
console.log('PARENT got message:', m);
});

n.send('中文');

和:

//sub.js
process.on('message', function(m) {
console.log('CHILD got message:', m);
});

process.send({ foo: 'bar' });

运行master.js时,出现错误:

undefined:1 "d8-f" ^ SyntaxError: Unexpected token at Object.parse (native) at Pipe.channel.onread (child_process.js:335:28)

谁能给点建议?</p>

4

1 回答 1

2

我可以重现它。

尽管这似乎是一个错误(因为它在 Node 0.8 中运行良好),但这可以作为修复:

// master.js
...
n.send(new Buffer('中文'));

// sub.js
process.on('message', function(m) {
  console.log('CHILD got message:', new Buffer(m).toString());
});
....
于 2013-03-13T08:31:30.513 回答