websocket上传参数中文乱码问题解决

来源:互联网 发布:联通关闭2g网络 编辑:程序博客网 时间:2024/06/13 12:16

websocket上传参数中文乱码问题解决

最近在做毕业设计的时候用到websocket,遇到的一个问题,就是websocket上传参数时会中文乱码,下面是我遇到的问题描述和解决方法:

websocket = new WebSocket("ws://localhost:8080/FleaMarket/websocket?name="+name);

在这里我上传一个参数name,如果这个参数是中文的,在服务器端接收到的name就会变成乱码。

我的解决方法时用URLDecoder来解码,之前用new String(qryString.getBytes(“GB2312”), “utf-8”)这个方法来转换,结果行不通。下面是核心源码跟输出结果。
核心源码:

 String qryString = session.getQueryString();// 获取上传的参数         System.out.println("qryString:"+qryString);         String decode_str = URLDecoder.decode(qryString, "utf-8");         System.out.println("decode_str:"+decode_str);         String name = decode_str.substring(decode_str.indexOf("=") + 1);// 上传的name         if (name == "-1") {             this.username = "游客(" + getOnlineCount() + ")";         } else {//          this.username = customerService.findCustomerById(id).getCust_name();// 根据id获取customer            this.username = name;        }

输出结果:

有一连接关闭!当前在线人数为0qryString:name=%E4%BD%A0%E5%A5%BDdecode_str:name=你好欢迎你好加入!当前在线人数为1

第一次写博客,希望帮助到大家,也方便我的记忆,如果有错误的地方,欢迎指正。

0 0
原创粉丝点击