中文乱码问题,Eclipse能正常显示,但在tomcat部署工程中不行

在处理Excel导出时遇到中文乱码问题,尝试多种解决办法无效。最终通过在前台页面对参数进行两次encodeURI编码,并在后台使用URLDecoder.decode解码,成功解决了乱码问题。分享这一解决方案,希望对遇到类似问题的人有所帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         今天在做Excel导出时,前台传参到后台controller,出现中文乱码,在网上搜了很多种办法,都没能解决掉,总结了下,最后在同事的提醒下,终于找到那里的问题了,和大家分享下中文乱码处理的几种办法,希望能够帮助到大家。

1.tomcat 工程中conf下面server.xml 设置<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8" />

这个办法应该是网上说的最多的

2.    String jqajlb=  new String(request.getParameter("jqajlb").getBytes("iso-8859-1"),"UTF-8");  

这是一种解决办法,原理的话 ,可以参考以下链接http://blog.youkuaiyun.com/skiffloveblue/article/details/7869264 挺详细的解释

3.第三种办法也就是解决我问题的方法:代码共享

前台页面方法:

function VIEW_ZFBA_YCJC_ListView_expExcel()
{
  try
  {
    var lv='VIEW_ZFBA_YCJC.ListView';
    tb='grid';
    id='lv';
    var vq= VIEW_ZFBA_YCJC_ListView_queryParams;
    var fm=document.createElement('form');
    fm.id='2FDB87153A2842DB80D2A308F276F63D';
    var jqajlb=encodeURI(encodeURI(vq['jqajlb']));
    fm.method='post';
    fm.action = '<%=path%>/ycjc/export2jExcel?state='+vq['state']+'&jqajlb='+jqajlb+'&jcdid='+vq['jcdid']+'&starttime='+vq['ycsjfssj']+'&endtime='+vq['ycsjfssj1']+'&badwdm='+vq['badwdm']+'&jcd='+vq['jcd'];
    document.body.appendChild(fm); 
    var b=document.getElementById('2FDB87153A2842DB80D2A308F276F63D');

后台:

String jqajlb=URLDecoder.decode(getRequest().getParameter("jqajlb"), "UTF-8");

应该还有其他比较好的解决办法,欢迎大家补充,谢谢
   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值