Node.js,net.socket,解码西里尔文字符

这是我的代码:

var net = require('net'); net.createServer(function (socket) { socket.setEncoding("utf8"); socket.write("Welcome " + socket.name + "\n"); socket.on('data', function (data) { console.log(data); }); socket.on('end', function () { socket.destroy(); }); }).listen(5000); 

我使用telnet 127.0.0.1 5000连接到服务器。 我将套接字编码设置为UTF-8。 脚本工作正常,直到我们发送一个包含“一些”西里尔字符的string。

例如:

 data = абвгдеёжзийклмнопрстуфхцчшщьыъэюя; 

console.log()输出文件абвгдеёжзийклмнопрст ф цчшщьыъэю

编码有什么问题? 为什么只有几个字符(х,у,я)变成问号?

我把这个问题search了一个小时。 没有find任何决定问你。

这既不是node.js也不是net.js模块的问题。 正如@robertklep提到最好使用netcat而不是telnet。