给A表添加触发器,当A表新增记录时,在B表插入几条记录,但是插入记录的时候会产生乱码,是什么原因?各位大哥大姐,救命啦!

解决方案 »

  1.   

    参考下贴中的检查方法,贴出你的检查结果。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    你好,按你的方法,检查结果如下:
     videocollection | CREATE TABLE `videocollection` (
     `videocollectionid` int(11) NOT NULL auto_increment,
     `videocollectionname` char(30) NOT NULL,
     `userid` int(11) NOT NULL,
     `usertype` char(20) default NULL,
     `createdateline` int(11) default NULL,
     `modifydateline` int(11) default NULL,
     `videonum` int(11) default '0',
     `coverpic` varchar(50) default NULL,
     `videoflag` smallint(6) default NULL,
     `friend` tinyint(1) NOT NULL,
     `password` varchar(30) default NULL,
     `permit_ids` text,
     PRIMARY KEY  (`videocollectionid`)
     ENGINE=MyISAM AUTO_INCREMENT=33 DEFAULT CHARSET=gbk |  用了set names 'gbk'命令后, 还是不行。
      

  3.   

    SHOW CREATE TRIGGER xxx;贴出来看一下,另外你的show variable 怎么没检查?
      

  4.   

    mysql> show variables like 'char%';
    +--------------------------+--------------------------------+
    | Variable_name            | Value                          |
    +--------------------------+--------------------------------+
    | character_set_client     | gbk                            |
    | character_set_connection | gbk                            |
    | character_set_database   | gbk                            |
    | character_set_filesystem | binary                         |
    | character_set_results    | gbk                            |
    | character_set_server     | latin1                         |
    | character_set_system     | utf8                           |
    | character_sets_dir       | D:\xampp\mysql\share\charsets\ |
    +--------------------------+--------------------------------+
    8 rows in set (0.00 sec)
      

  5.   

    不好意思,我用show create trigger tri_afterinsert_member的时候出错:Error 1064 <42000> :You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use ......
      

  6.   

    character_set_server | latin1 |这是根本原因。修改你的my.ini文件吧,在xampp\mysql\bin\my.ini当中,

    [mysqld]下
    添加:
    default_character_set=gbk
    或者
    default_character_set=utf8
    然后重启mysql服务,清除原来的数据,重来一遍你的插入操作。