本页内容为:JavaScript编码的一些不方便,该文章本站转载自网络,如有侵权请告之,我们将会及时将其删除,其正文内容如下:
平台是 Java + Oracle + Tomcat jsp 上编码统一是 UTF-8 但是有的时候 form 需要使用 get 方法来传值.
注:我用的是 window.location = "XXXXX.do?name=簡單"
虽然可以将 Tomcat 的地址栏编码也改成 UTF-8 但是真正部署的时候就不知道要用什么鸟服务器了.错误是这样的.前台输入了 "消耗" 后台接收到后是乱码.这个肯定嘛,通过地址栏传的.哥们转码.
String strName = new String(form.getString("username").getBytes("ISO8859-1"), "UTF-8");
获得到的 strName = "消X" 少了半个字符 并不是所有的字都少半个字符.这才是最奇怪的!!
无奈之下想起了 JS 的编码转换,找了好久找到了2个对应的.开心的不得了.
1. encodeURI(str); // 将字符转换成 URL 编码
2. decodeURI(str); // 将 URL 编码转换成汉字
转码之后问题就解决了.....但是问题原由一直不解.不过估计是汉字编码有问题..鄙视微软!!