Spring Cloud Zuul header中文乱码

2020-11-10  本文已影响0人  莫夏_b560
添加的时候编码:URLEncoder.encode("","UTF-8")
使用的时候解码:URLDecoder.decode("","UTF-8")

在Spring Cloud Zuul中添加filter的时候,要在header中加入含有中文属性的对象,在另外一个微服务中接受的时候,发现中文乱码,具体解决方案,是先用URLEncoder编码,然后微服务的接受的时候再解码

(1)Spring Cloud Zuul:

// obj这个对象中含有中文属性
RequestContext.getCurrentContext().addZuulRequestHeader("user", URLEncoder.encode(JSONObject.toJSONString(obj), "UTF-8"));

(2)微服务:

        String userStr = this.getRequest().getHeader("picaUser");
        User user = null;
        if (StringUtil.isNotNull(user)) {
            try {
                user = URLDecoder.decode(userStr, "UTF-8");//解码
            } catch (UnsupportedEncodingException var4) {
                var4.printStackTrace();
            }
       }

这样就能解决中文乱码的问题!

上一篇 下一篇

猜你喜欢

热点阅读