myeclipse+mysql6.0insert into users values('用户名','123');在程序中出错,把值改成英文则可正常插入记录。
错误提示为:
Syntax error or access violation,  message from server: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"用过滤器把网站全设成utf-8,按网上教的方法,已经在my.ini设置默认字符为utf-8。建库:
CREATE DATABASE IF NOT EXISTS car default charset utf8 COLLATE utf8_general_ci;
建表:
create table users
(
  id varchar(32) not null primary key,
  password varchar(20) not null
)ENGINE=myisam default charset utf8;

解决方案 »

  1.   

    你在mysql里直接insert中文看是否可以如果可以的话,把你出错时候的sql语句完整的贴上来
      

  2.   

    insert   into   users   values('用户名','123');
    在命令行是可以的,插入数据与查询都正常。用statement.executeUpdate()执行就会出错。
      

  3.   

    把你执行前的字符串贴出来,或者是setString()前的值贴出来
      

  4.   

    这个命令是我在程序运行时用System.out.println(sql);打印出来的,直接复制就可以执行了。
      

  5.   

    1.把所有的编码改成UTF-8的,,包括你的JSP文件也要重新建立一个UTF-8然后将GB2312中的代码COPY进去,,
    不要单纯的将GB2312的JSP文件中的GB2312改成UTF-8的,无效的操作很复杂。。2.如果不想像上面那样麻烦,,那就只有不改JSP的编码,而从数据库的编码和过滤器的编码上着手了,祝你幸运。
      

  6.   

    所有的jsp文件都已经是utf8的,过滤器里面也是utf8的。但还是没用。数字和字母都没问题,中文字符就出错了。
      

  7.   

      应该是jsp提交 id 时,编码出错了,我以前也遇到过,英文和数字可以,但中文就显示乱码,建议楼主debug追一下,看看id的值在进数据库以前是怎么变化的.
      

  8.   

    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/car?user=root&password=83445809&useUnicode=true&characterEncoding=utf-8" );已经解决了,要这样子连接才行。