一个跨系统乱码问题的解决

使用公司一个产品与联通彩信网关做对接联调,使用简单JAVA代码模拟发彩信,中文信息正常,但使用该产品之后却发现会存在乱码问题。排查了很久,最终发现是我们产品在发出去前就已经乱码了。后来跟踪才发现,是中间有个敏感字检查,入参是String.getBytes("utf-8"),而处理过程却变成了:

 

 

String cm = new String(byteArray);
content.setContent((getMessage("del",cm)).getBytes());
cm = new String(byteArray);
content.setContent((getMessage("repl",cm)).getBytes());
 

由此造成中间的编码乱掉了,这个过程是对彩信内容做敏感字检查,检查完后扔给下一个处理逻辑,好的责任链设计被坑爹的代码给损了。

你可能感兴趣的:(乱码)