关于中文乱码的两三点看法

一遇到中文乱码总感觉是我哪里面代码有问题……或者叫你设置这个设置那个的……上网一搜设置 request.setCharacterEncoding("UTF-8"); ,又设置tomcat的这那啦一大堆,有时候自己试试毛用都没有。
其实乱码的本质就是url被不同的字符集给转义了……
不需在下游的时候用 new String(str.getBytes("ISO-8859-1"),"UTF-8"); 这样很有局限性,因为有时候不能确定上游的编码是哪种编码。

只要注意两点就可以完全避免乱码的出现……
在用HTTPUtils调url的时候所有的参数就用URLEncoder.encode 加密码因为所有的ASCII绝对不会有乱码的,
在下游用到的在用URLDecoder.decode转义回来……
今天在写代码的时候,遇到了乱码的问题,问题在一个project,调另一个projet的时候。我在被调用的project里怎么修改都解决不了乱码的问题,蛋疼的是还不能debug。搞了好久。小小的一个乱码花了好长时间
上游的log中打出的url是正确的url,首先想到的就是new String(str.getBytes("ISO-8859-1"),"UTF-8");这个方法.前面的一个参数把所有的编码都试过了也不行。冷静下来想想用了上面的想法。只在project
调用另一个project的httputils中加了个URLEncoder.encode 。其它的地方都恢复回去,解决问题。

遇到bug,不一定都去google,baidu。因为开发的环境代码等都不一样,所以相同的问题有时候就不适合……要根据实际情况解决……baidu上的就更坑爹了……出处都是一样的……相同的问题解决办法也是一样的,人抄他,他抄别人的
坑爹货……
主要看到他们的解决办法和解决问题的思路……不过也有大神原创的确实有含金量………… 授人以鱼不如授人以渔。

posted @ 2017-04-20 17:11  agnils  阅读(265)  评论(0编辑  收藏  举报