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。