posts - 23, comments - 0, trackbacks - 0, articles - 3
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

解决乱码总结

Posted on 2008-08-18 17:04 beauty9235 阅读(101) 评论(0)  编辑  收藏

作者: beauty9235  链接:http://beauty9235.javaeye.com/blog/229622  发表时间: 2008年08月08日

声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!

webwork处理编码webwork.properties 设置你的缺省 locale和编码方案
 webwork.locale=en_US
 webwork.i18n.encoding=UTF-8
如果使用freemarker 还要设置freemarker.properties
 locale=en_US
 default_encoding=UTF-8
网页上设置编码
 1、JSP文件用支持UTF-8的文字编辑器编辑,如EditPlus、UltraEdit,并把原来ascii转换成utf-8(菜单里有)。
 2、JSP文件头改成:
 <%@ page contentType="text/html; charset=UTF-8" language="java"  import="java.sql.*"%>
 3、html文件
 <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
数据库
 1、mysql配置文件:修改mysql在windows\my.ini里default-character-set=utf-8
 2、mysql里数据库和表也都设为utf8_unicode_ci
 3、数据库连结:jdbc:mysql://localhost/mydb?useUnicode=true&characterEncoding=utf-8
属性文件 
native2ascii -encoding UTF8 ApplicationResources_xx.properties ApplicationResources_zh.properties 
过滤器
 EncodingFilter.java
  public class EncodingFilter implements Filter {
      public void init(FilterConfig cong) {
    //  do nothing
   }

   public void doFilter(ServletRequest srequest, ServletResponse sresponse,
     FilterChain chain) {
    try{
     //编码
     srequest.setCharacterEncoding("UTF-8");
     //继续请求
     chain.doFilter(srequest, sresponse);
    }catch(Exception e){
     e.printStackTrace();
    }
   }

   public void destroy() {
    //do nothing
   }
  }
 web.xml
 <filter>
  <filter-name>encodingfilter</filter-name>
  <filter-class>fr.simatai.util.application.EncodingFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>encodingfilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping> 
数据库字符编码转化(己存在的表)
ALTER TABLE test CONVERT TO CHARACTER SET UTF8 


本文的讨论也很精彩,浏览讨论>>


JavaEye推荐




只有注册用户登录后才能发表评论。


网站导航: