问题:网关设置了用户姓名放置头部,从网关获取头部姓名的时候出现乱码,但是在网关那边把中文参数输出都是正常的,在头部出现了乱码。
解决:在网关那边在设置用户中文信息的时候进行编码再进行传参,再在获取方那里进行解码。
编码设置:
httpHeader.set("slxtUsername",URLEncoder.encode(finalSlxtUsername,"UTF-8"));
解码设置:
URLDecoder.decode(httpHeader.get(slxtUsername),"utf-8");
由于使用地方过多,我们大佬进行了一个封装了一个统一全局解码的依赖,所以我们基本就不要进行解码了。
导致以上问题的一个知识盲点为,头部不能进行中文传输,有条件的可以在postman里面的headers里面设置一个参数,值为中文的,你会发现报错:编码格式不存在