问题是这样的,由于我的数据库的表名是根据用户需求(输入的关键字)动态创建的,比如用户输入"夺命快递“,我在数据库里面就要创建一个”夺命快递“的表,这个表是用来存储所有的跟这个关键字有关的信息,分条的,所以我要单独建立一个表,现在的问题就是,mysql他不能完全支持中文名做表名,比如上面的”夺命快递“就是不行,而”汪峰恋情“则是可以的.求大家解答.
如果上面看得不是很明白的,而且看下面的补充:1、数据是根据输入的关键字在新浪微博爬下来的,所以分了很多条,我现在的做法是根据不同的关键字建立不同的表,用来存储n条的微博数据,而我的mysql不能很好的支持中文来做表名,导致创建表失败,针对这种情况,大家给给招!!

解决方案 »

  1.   

    1、我想到的一个另外的解决方法是将中文装换成其他的编码方式,比如类似url的编码方式,问题是mysql数据表名只支持64位长度的数据,所以当关键稍微长一点的时候就会有问题了...
      

  2.   

    建个表把汉字名字转化成idtest(id int,name varchar(100))
      

  3.   

    支持中文表名,但可能导致很多问题。建议不要使用非 ascii 码的表名。
      

  4.   

    照着下面的命令走一遍吧:
    mysql> set names 'gbk';
    Query OK, 0 rows affected (0.00 sec)mysql> create table `夺命快递`(id varchar(32) not null);
    Query OK, 0 rows affected (0.02 sec)mysql> insert into `夺命快递` values('hello, test夺命快递');
    Query OK, 1 row affected (0.01 sec)mysql> select * from `夺命快递`;
    +---------------------+
    | id                  |
    +---------------------+
    | hello, test夺命快递 |
    +---------------------+
    1 row in set (0.00 sec)mysql>话虽如此,我仍不主张在数据库应用中使用中文表和中文字段,为何要给自己找不痛快呢。