-
-10 19
-
我们在android里面进行URL编码的时候我们会遇到中文编码的问题,如果我们不对中文进行处理那提交的时候会以UTF8的方式传输,而他们不会自动将中文转换成UTF8,从而造成乱码现象,当然在接受的时候会解析不了传递的内容。所以会出现异常,通常是在is = conn.getInputStream();这里出错。然而会报很多错误,引发一连串的错误,有些错误并不是错误,是其他错误导致的。所以当调试的时候不用一直盯着某个错误不放,应该看一下根源。如果我们是在Activity里面对中文编码那么我们就要用到GBK对中文进行编码,URLEncoder.encode("我", "UTF8");这是编码的事例代码。这样就会正确的传递值。
当我新建个普通的.java文件的时候,如果我们想对url进行编程,那么我们要将中文编码成UTF8,这个是java自己默认的编码方式,如果我们将中文强制用GBK编码,那么会出现错误。我们可以这样理解,其实android修改了java的部分代码,android的Activity是android编码是自己定义的,他们自己定义了自己的编码方式,这一点可以从谷歌的浏览器传中文参数得到证明。而java本身的URL编码是用UTF8的。所以前段时间ORACLE状告GOOGLE是有道理的。
要记住:当我们在Activity里面进行传递中文的时候要用GBK进行预处理,而在普通JAVA类里面的时候要用UTF8进行编码。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
- 评论(0)
发表评论 TrackBack