MYSQL编码为:gbk
页面编码为:gbk
直接在数据库里insert进去时是中文.
凡是从jsp页面添加进去的字符串类型值全部是乱码,
取值的时候,也全部都是乱码,
如何解决?

解决方案 »

  1.   

    JSP页面定义的啥编码? 不行就写个过滤器。
      

  2.   

    1.同一页面编码,一般用UTF-8
    2.tomcat的默认编码也改一下
    3.数据的编码也改成UTF-8。
      

  3.   

    tomcat的编码在tomcat的安装目录的/conf/context.xml中改。
      

  4.   

    1.修改tomcat的编码方式,在Tomcat/conf/server.xml文件
      <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
                URIEncoding="UTF-8"/>   2.修改MysqL安装目录下的my.ini,   
      [mysql]   
      default-character-set=utf8   
     [client]   
      default-character-set=utf8   
     [mysqld]   
      default-character-set=utf8   
      

  5.   

    什么tomcat。不行的,把前台传来的值输出看看,是不是乱码,如果是说明传来的值就有问题,直接以个filter过滤下,网上例子很多泥都不用直接写,拷贝了把类放到项目里,然后再web.xml里加上配置(如果有struts2的框架,你新加的配置要放到struts的前面,才起作用),就可以了。如果从后台直接赋值中文,到数据库一看是乱码说明数据库的字符设置有问题。  一般不用什么GBK,直接都是统一UTF-8就好了.
      

  6.   

    如果你用struts2.1.8以上的,直接在struts里加个配置i18n的,就可以了。如果没有框架建议用拦截器
      

  7.   

    一句话搞定,楼主看好!链接数据库的时候:private static final String url="jdbc:mysql://localhost:3306/coursechoose?characterEncoding=utf8";数据库什么名,什么编码,自己看着上边对应改一下吧
      

  8.   

    肯定是页面给服务器端传输时出现的乱码,改了tomcat的编码就没问题了