我在jsp文件中设置
<%@ page contentType="text/html;charset=utf-8" language="java" %>
提交中文信息到MySQL后,再调出来就成了乱码,直接到MySQL中查看也是乱码,请问到底应该如何设置编码啊?

解决方案 »

  1.   

    用过滤器吧  很好用的  你在csdn中可以搜速到很多的
    原因是服务器默认编码或浏览器问题
      

  2.   

    谢谢啊,我就是想弄明白这些编码应该如何设置,包括页面,数据库,编辑器等等,我只是做了一个非常简单的jsp页面来测试,过滤器就不必了吧!
      

  3.   

    试着把mysql的编码改为UTF-8,默认的mysql配置好像不是utf-8
      

  4.   

    我在my.ini里面把客户端和服务端的编码都改了啊,如下:
    default-character-set=utf8
    以前是latin1的默认编码,是不是还要改别的地方?
      

  5.   

    楼主你是在JSP中添加到数据库中还是用通过servlet?如果是servlet的话,在读取数据前req.setCharacterEncoding("UTF-8");JSP,MYSQL编码都设置为UTF-8,IDE中Java Source File编码也要设置为UTF-8
      

  6.   

    谢谢关心,我只是做了一个简单的jsp页面来实验,现在把文本存入MySQL后,再调出来,在网页上显示已经不是乱码了,通过MySQL Query Browser来查看数据库,显示的也是中文,但是通过MySQL命令行的形式查看,就只能见到乱码了,这是怎么回事啊?
      

  7.   

    你可以到我的blog看看下面这篇文章,自己整理给自己看的JSP+MYSQL的中文问题的汇总,或许对你有所帮助。
    http://blog.csdn.net/hzxdark/archive/2006/11/19/1396376.aspx
      

  8.   

    你在mysql建表时要加上DEFAULT CHARSET=utf8
      

  9.   

    但是通过MySQL命令行的形式查看,就只能见到乱码了,这是怎么回事啊?
    ---------------------------------
    可能是命令行窗口不支持UTF-8,可以查看命令行窗口的属性,"选项"页有"当前代码页",看看是不是UTF-8
      

  10.   

    谢谢,从命令行窗口查看utf-8的数据显示为乱码,的确是因为简体中文的windows命令行窗口不支持utf-8,选项里面没有这一字符集,只支持GBK和BIG5的中文