创建表名时中文中内有英文字符的表出错,如:
CREATE TABLE IF NOT EXISTS 名_称  (
        name  varchar  (255)  NOT NULL ,
        val  varchar  (255)  NOT NULL  DEFAULT ''
    );
英文开头或者结尾都没有问题,如q名称、名称q、q名称q、_名称_ ,唯独中文内有英文字符就出错。
如何解决?
修改my.ini的57行
       default-character-set=gb2312
和81行
          default-character-set=gb2312
之后重新启动了mysql;
通过status命令查看
server character set:gb2312
Db character set:gb2312
Client character set:gb2312
Conn. character set:gb2312database 的character set 设置为gbk和gb2312都试过了.

解决方案 »

  1.   


    set names gbk;
    CREATE   TABLE   IF   NOT   EXISTS   名_称     ( 
                    name     varchar     (255)     NOT   NULL   , 
                    val     varchar     (255)     NOT   NULL     DEFAULT   ' ' 
            ); 
    不过强烈建议表名为英文。
      

  2.   

    最初是在mysql5.0下测试的,发现不行。
    安装6.0后,测试发现成功了。
    看来6.0还是有很大的改进啊。