使用jqGrid时遇到的中文乱码问题

时间:2023-02-02 18:18:59

最近在使用jqGrid时候,当提交参数带中文时,java端获取的参数为乱码。此问题耗费我8小时才得以解决希望能让大家遇到此种情况,内心不乱,减少麻烦。

首先JSP页面中已经使用了utf-8  

即:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

 

并且整个项目都统一使用了utf-8

 

但是 java端获取的依旧是乱码,查了很多资料做了一下修改

一、

HttpServletRequest req = ServletActionContext.getRequest();
  req.setCharacterEncoding("utf-8");

试过后依旧无济于事

二、

String AA= new String(req.getParameter( "permissionClassName" ).getBytes("UTF-8"),"GBK") ;

依旧无济于事

三、在这个Action 方法跳转的struts.xml中修改。

加utf-8的设置

还是无济于事

四、

String ttt= req.getParameter( "permissionClassDes" );
  String permissionClassDes = URLDecoder.decode(ttt, "UTF-8");

是把乱码转成中文了,但是依旧达不到我们使用的目的

四、

修改部署该项目的server.xml     <Connector port="8080" redirectPort="8443" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8"/>

如果是在你本地的磁盘下修改,你肯定再启动项目的时候启动不起来  F:\eclipse\workspace\Servers\zhu-config\server.xml

如果是在eclipse 中 Servers中修改,就可以解决问题

 

使用jqGrid时遇到的中文乱码问题

 

 

起初还搜到了说是jquery.grid.min.js 的问题,这个自己倒没试,不过修改eclipse 中 Servers 中 server.xml  加 URIEncoding="UTF-8" 肯定是好使的,一切结果正常明朗。