主题: 后台乱码问题终极解决方案
作者: medo_medo, 发布日期: 2011-05-13 14:38:41, 浏览数: 4369

      在struts的action中取得的html内容是乱码,花了一天,终于把该问题完美解决。不敢独享,发表出来,希望可以让遇到该问题的不再是问题。

     

     问题情况:   jsp版本的默认实现是基于UTF-8, 我在struts的action里面取得的内容,无论怎样转码,都是乱码。kindeditor是完整的基于UTF-8编码的,所以不可能去更改kindeditor的编码。出现乱码,可以肯定的是编码不对。

 

    问题分析:在tomcat里面设置的编码是GBK,kindeditor的界面上都是使用UTF-8编码,这就出现了不一致,这就是问题的原因所在。 pageEncoding="UTF-8" 是页面的编码,如果不指定response的编码格式,则form表单里面的内容后以UTF-8进行编码。UTF-8是不固定长度的编码规则,GBK是固定长度的编码规则,所示导致了即时转码也是乱码的问题。 

 

  终极解决方法:在kindeditor的实现页面上使用  response.setCharacterEncoding("GBK"); 设置response的字符集为GBK,这样在后台也不需要转码了,该问题完美解决。  

 

  关键说明:

     1. pageEncoding="UTF-8" 是页面的编码,如果不指定response的编码格式,则form表单里面的内容后以UTF-8进行编码。

     2.设置 response的字符集为你得后台编码字符集。

作者: medo_medo, 发布日期: 2011-05-13 14:58:22
另外:感觉这个验证码实现不错哦,能否介绍一下怎么实现的啊?
回复
作者: Roddy, 发布日期: 2011-05-13 21:16:39
回复medo_medo:本站用的是这个,http://code.google.com/p/cool-php-captcha/
回复
发表新帖 发表回复