隨筆-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
          主站蜘蛛池模板: 布拖县| 南溪县| 敖汉旗| 安庆市| 博野县| 崇明县| 怀宁县| 建瓯市| 江阴市| 康乐县| 璧山县| 德州市| 灌南县| 万荣县| 昌都县| 准格尔旗| 华亭县| 潢川县| 乌鲁木齐县| 弥渡县| 永泰县| 田阳县| 民和| 定州市| 阳信县| 溆浦县| 垣曲县| 车险| 泰来县| 德州市| 五河县| 绍兴市| 永吉县| 陈巴尔虎旗| 哈尔滨市| 绍兴县| 卓尼县| 平邑县| 丰镇市| 大荔县| 临安市|