jsp页面和MySQL都是用的utf8编码格式,用jsp页面插入数据能插入,但是直接用sql语句却不能插入,提示Incorrect string value。而用jsp页面插入的显示为乱码。把数据库和jsp页面的编码方式都改为gbk之后,用sql语句能插入也能正常显示,但是用jsp页面就不能插入了。怎么解决???

解决方案 »

  1.   

    采用utf8,通过form的post把sql语句用到的参数传到.do,再组织sql并执行!
      

  2.   

    mySQL的乱码对策,乱码是字符集造成的。mysql> show variables like 'char%';
    mysql> show variables like 'collation%';如此查看就明白字符集是不是utf8了。而jsp页面也要对应上utf-8。
    修改, 在mysql.ini中修改默认设置,然后重启。要么set names utf8;一般来说处理页面上乱码的方法是
    HTML:<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
    JSP:<%@ page language="java" contentType="text/html; charset=utf-8" %>
         <% request.setCharacterEncoding("UTF-8"); %>
    Servlet: res.setContentType("text/html; charset=utf-8");
      

  3.   

    UTF8表示一个字符用一个字节表示,你认为中文能用一个字符表示吗你要用GB2312或者GBL字符集
      

  4.   

    如果你的网站是中文,建议你在建设之初就用GB2312,否则后面会有很多麻烦http://blog.csdn.net/lxl888/article/details/6826920
      

  5.   

    字符集设置的问题。在你的JSP的数据库连接代码上设置字符集。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码