隨筆-208  評論-469  文章-30  trackbacks-0

          在網上有很多這方面文章,依照上面也解決過,但是修改了mysql的配置文件my.ini.感覺在部署時不是很爽.

          就是default-character-set=gbk? ,可以把gbk改成別的。這里給出另一種解決方法(mysql-5.5). :)低版本的mysql似乎沒出現過中文問題

          1.添加一個過濾器,將字符集編碼設為UTF-8.
          修改web.xml:

          ?<filter>
          ??<filter-name>SetCharacterEncoding</filter-name>
          ??<filter-class>hxz.filter.SetEncodingFilter</filter-class>
          ??<init-param>
          ???<param-name>encoding</param-name>
          ???<param-value>UTF-8</param-value>
          ??</init-param>
          ?</filter>
          ?
          ?<filter-mapping>
          ??<filter-name>SetCharacterEncoding</filter-name>
          ??<url-pattern>/*</url-pattern>
          ?</filter-mapping>

          新建一個過濾器:
          package hxz.filter;

          import java.io.IOException;

          import javax.servlet.*;

          public class SetEncodingFilter implements Filter {
          ?
          ?// default character encoding
          ?String defaultEncoding = "UTF-8";?
          ?
          ?public void init(FilterConfig config) throws ServletException {
          ??String encoding = config.getInitParameter("encoding");
          ??if (encoding != null) {
          ???defaultEncoding = encoding;
          ??}
          ?}

          ?public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
          ??request.setCharacterEncoding(defaultEncoding);
          ??chain.doFilter(request, response);
          ?}

          ?public void destroy() {
          ??defaultEncoding = null;
          ?}

          }

          2.修改hibernate配置文件:
          <property name="url">
          ? <value>jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8</value>
          </property>
          注意后面的:useUnicode=true&amp;characterEncoding=UTF-8, 在xml中&要改為;amp;

          3.在新版本中mysql建表時,你可以選擇一種字符集,將它設為utf-8.
          jsp或servlet中把字符集改為UTF-8.

          //要注意當你從jsp頁里得到數據時不要//String username=new String(request.getParameter("username").getBytes("ISO-8859-1"),"UTF-8");只要
          ??String username=request.getParameter("username");就可以了!!!!!!!!!!!!
          ??


          4.trying...

          posted on 2007-02-05 17:30 EricWong 閱讀(489) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 攀枝花市| 凤山县| 故城县| 喀喇沁旗| 邮箱| 祁门县| 郧西县| 雅安市| 綦江县| 马山县| 浮梁县| 铜陵市| 广宗县| 金秀| 威远县| 金乡县| 广饶县| 龙江县| 金沙县| 四子王旗| 景宁| 建宁县| 绥德县| 元氏县| 南京市| 贵南县| 竹北市| 双辽市| 德清县| 东山县| 南昌县| 永丰县| 太康县| 武平县| 苍南县| 鄂托克旗| 手游| 荔波县| 嵊州市| 高台县| 大英县|