且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

thrift的js客户端收到含汉字字符中显示为乱码解决方法

更新时间:2022-08-18 17:34:31

thrift服务端使用utf8,客户端编码也是,但实际使用中,javascript客户端显示的汉字总是乱码,而c++客户端显示正常。
经研究,将protocol.js文件如下内容:

点击(此处)折叠或打开

  1. TBinaryProtocol.prototype.readString = function() {
  2.   //var r = this.readBinary().toString('utf8');
  3.   var r = this.readBinary().toString('binary');
  4.   // console.log("readString: " + r);
  5.   return r;
  6. }
修改成:

  1. TBinaryProtocol.prototype.readString = function() {
  2.   var r = this.readBinary().toString('utf8');
  3.   //var r = this.readBinary().toString('binary');
  4.   // console.log("readString: " + r);
  5.   return r;
  6. }


问题即被解决。