thrift服务端使用utf8,客户端编码也是,但实际使用中,javascript客户端显示的汉字总是乱码,而c++客户端显示正常。 经研究,将protocol.js文件如下内容:
TBinaryProtocol.prototype.readString = function() {
//var r = this.readBinary().toString('utf8');
var r = this.readBinary().toString('binary');
// console.log("readString: " + r);
return r;
}
修改成:
TBinaryProtocol.prototype.readString = function() {
var r = this.readBinary().toString('utf8');
//var r = this.readBinary().toString('binary');
// console.log("readString: " + r);
return r;
}
问题即被解决。