奇怪的乱码问题-Java中输出的工具以及编码解码的工具

乱码在我们的开发中还是比较常见的,一不小心就会出现乱码的情况。问题是有的乱码很容易解决,只是因为粗心大意,而有的却不太好解决。

通过本篇博文,你将主要学习到HttpURLConnection、OutputStream、PrintWriter、URLEncoder、URLDecoder、String.getBytes("utf-8")

这两天在开发的过程中就遇到了一个很棘手的乱码问题。

奇怪的乱码问题-Java中输出的工具以及编码解码的工具

1.刚开始乱码是这样的,原本选的是“天河区”。要通过HttpurlConnection将业务系统数据传到APP端服务器上,使用的是PrintWriter来输出,此时“天河区”三个字全部乱码。代码如下所示

奇怪的乱码问题-Java中输出的工具以及编码解码的工具

2.根据网上说的,我把printWriter输出的内容重新编码了一下再输出:out.print(param.getBytes("UTF-8"));

此时就奇怪了,如下所示。我天,部分乱码

奇怪的乱码问题-Java中输出的工具以及编码解码的工具

3.我尝试了下,不使用PrintWriter来输出了,直接使用HttpUrlConnection的getOutputStream方法来输出,问题解决了。

奇怪的乱码问题-Java中输出的工具以及编码解码的工具

4.可是,老大说,这个代码所在的类是公用的,也就是说,为了不影响别人的使用,这些代码都不能改。那么此时留给我的就只有两条路了。第一:重新把这些写一个方法;第二:想其他办法。因为第一条路略显麻烦,所以我选了第二条。

将要传的参数进行编码(原本尝试过全部编码了,但APP那边有限制,所以后来没成功)我试了下部分编码,如下所示,将可能含有中文的参数进行编码,然后再传给APP端。让APP端在接收时先进行解码(原本不行就是因为其没有解码)

奇怪的乱码问题-Java中输出的工具以及编码解码的工具奇怪的乱码问题-Java中输出的工具以及编码解码的工具

问题也完美解决!

本篇博客写到这里也就结束了了,感谢大家的阅读,欢迎大家访问本人视频网站使用吐槽墙功能及音乐网站。我在这儿等着你们。

最新重磅推荐:哆啦闹铃-电脑工作者必备工具