服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

eclispe下开发struts完整解决乱码问题


    eclispe下开发struts乱码问题非常令人头疼,下面给出几种解决方法:
    主要有三个问题: 
    1.struts中资源文件中如果value为中文,显示乱码 
    解决办法:使用eclipse插件properties editor 更新站点http://propedit.sourceforge.jp/eclipse/updates/(建议自动更新)
 步骤:
 eclipse下的“帮助”/“软件更新”/”查找并安装“/选择第二项/“新建远程站点”/name随意写,url输入http://propedit.sourceforge.jp/eclipse/updates/ 

    2.在文本域里输入中文显示乱码 
    解决办法:使用servlet过滤器filter 
    最简单的可以借用tomcat下面的filters.setcharacterencodingfilter在自己的web.xml配置中加入tomcat中servlet_examples相应配置(高手可以自己配!) 

    本人配置如下
<filter> <filter-name>setcharacterencoding</filter-name> <filter-class>filters.setcharacterencodingfilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>gbk</param-value> </init-param></filter><filter-mapping> <filter-name>setcharacterencoding</filter-name> <url-pattern>*.do</url-pattern></filter-mapping>
    3.从某些数据库里读出乱码 
    解决办法:把你要显示成中文的部分重新编码
 例如:
while (rs.next())...{ string col1 = rs.getstring(1); string col2 = rs.getstring(2); string col3 = rs.getstring(3); float col4 = rs.getfloat(4); //convert character encoding col1=new string(col1.getbytes("iso-8859-1"),"gb2312"); col2=new string(col2.getbytes("iso-8859-1"),"gb2312"); col3=new string(col3.getbytes("iso-8859-1"),"gb2312");}

扫描关注微信公众号