JPro

java开发中遇见的乱码问题

 最近在工作过程中遇见了乱码问题,经过查阅资料成功的解决了这个问题。

   1.将后台的内容(包含中文字符)以json格式传递到前台,前台用jquery的$.get()的方式接受,结果得到的内容为乱码(乱码是?????的形式)。

      解决方法:在你的action类的方法中添加添加一条代码

                    response.setCharacterEncoding("UTF-8");

      这样在前台就能接收到中文字符了。

   2.从前台传到后台的字符串为乱码,也是以$.get()的方式传递。后台得到的乱码不是问号的形式。

      解决方法: 方法1     

                    首先在前台进行编码。

                    var val = document.getElementById("elementId").value;

                    var encodeVale = encodeURI(val);

                    后台进行解码。

                    String str = request.getParameter("p"); //假设你在前台传递的JSON串的键值是"P"

                    str = URLDecoder.decode(str,"UTF-8");

                    方法2

                    前台不编码,在后台用另一种方法解码。

                    后台解码代码为:

                    String str = request.getParameter("p"); //假设你在前台传递的JSON串的键值是"P"

                    str = new String(str.getBytes("iso8859-1"),"UTF-8");

                    经过测试,以上两种方法都可以。

注:若有错误请发邮件(wxljpro@163.com),共同进步。

posted on 2012-03-31 08:48  JPro  阅读(523)  评论(0)    收藏  举报