+ -
当前位置:首页 → 问答吧 → perl、mysql使用中一个错误“ Illegal mix of collations”

perl、mysql使用中一个错误“ Illegal mix of collations”

时间:2010-11-12

来源:互联网

前边数据库已经连接好
  1. my $stuNumber=3;   
  2. my $stuName ="张三"; #这里如果等于‘abc’就没事
  3. my $stuClass="3";

  4. #指定处理数据库时使用的字符集
  5. my $sth=$dbh->prepare('set character_set_results=gbk');
  6. $sth->execute();
  7. #$dbh->do("SET CHARACTER SET utf8");
  8.     $sth = $dbh->prepare("SELECT  COUNT(*) FROM stutable WHERE id=? AND stuName=? AND stuClass=?");
  9.     $sth->execute($stuNumber,$stuName,$stuClass);#这里出错,stuName的问题!!!
复制代码


运行起来,关键字是英文就没事,中文就出错,提示错误:
DBD::mysql::st execute failed: Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for 19.

莫名了,半天了,憋死了,请高手帮忙。

感觉是字符集的问题,可是搞不清具体是哪里。谢谢了orz

作者: ioerr   发布时间: 2010-11-12

数据库、表格、每一个字段整理都是gbk_chinese_ci。莫名了

作者: ioerr   发布时间: 2010-11-12