ITPub博客

首页 > Linux操作系统 > Linux操作系统 > mysql字符集更改 【转载】

mysql字符集更改 【转载】

原创 Linux操作系统 作者:bright_mac 时间:2010-10-28 10:41:14 0 删除 编辑

MySQL字符集修改命令

1.修改服务器级
a. 临时更改:
mysql>SET GLOBAL character_set_server=utf8;
b. 永久更改:
shell>vi /etc/my.cnf
[mysqld]
default-character-set=utf8
2.修改数据库级
a. 临时更改:
mysql>SET GLOBAL character_set_database=utf8;
b. 永久更改:
改了服务器级就可以了
3.修改表级
mysql>ALTER TABLE table_name DEFAULT CHARSET utf8;
更改了后永久生效
4.修改列级
修改示例:
mysql>ALTER
TABLE `products` CHANGE `products_model` `products_model` VARCHAR( 20 )
CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
更改了后永久生效
5.更改连接字符集
a. 临时更改:
mysql> SET NAMES utf8;
b. 永久更改:
shell>vi /etc/my.cnf
在[client]中增加:
default-character-set=utf8

------------------------------------------------------------------------------------------------

例如:我在安装mysql5.0用了utf-8,执行以下语句之后  
   
   
  CREATE   TABLE   beer   (  
      id   int(10)   unsigned   NOT   NULL   auto_increment,  
      business_id   int(10)   unsigned   NOT   NULL   default   '0',  
      name   varchar(255)   NOT   NULL   default   '',  
      price   varchar(255)   NOT   NULL   default   '',  
      UNIQUE   KEY   id   (id)  
  )   TYPE=MyISAM;  
   
   
  varchar的字符串集是utf-8,那我怎样设置为gbk呢?  
   
  当然可以直接在后面加,但是我有好几十个表.一一加就有点笨,请各位引路了.

 

不知道你是不是想像下面那样作转换:  
  CREATE   TABLE   `books`   (  
      `id`   varchar(8)   NOT   NULL   default   '',  
      `name`   varchar(24)   default   NULL,  
      `title`   varchar(96)   default   NULL,  
      `price`   float   default   NULL,  
      `yr`   int(11)   default   NULL,  
      `description`   varchar(30)   default   NULL,  
      `saleAmount`   int(11)   default   NULL,  
      PRIMARY   KEY     (`id`)  
  )   ENGINE=MyISAM   DEFAULT   CHARSET=utf8;  
   
  这个表的类型为varchar的字段的字串集都是utf8,数据库的字符集也为utf8;  
  用mysql>   alter   table   books   convert   to   character   set   gbk;作转换后变成:  
  CREATE   TABLE   `books`   (  
      `id`   varchar(8)   character   set   gbk   NOT   NULL   default   '',  
      `name`   varchar(24)   character   set   gbk   default   NULL,  
      `title`   varchar(96)   character   set   gbk   default   NULL,  
      `price`   float   default   NULL,  
      `yr`   int(11)   default   NULL,  
      `description`   varchar(30)   character   set   gbk   default   NULL,  
      `saleAmount`   int(11)   default   NULL,  
      PRIMARY   KEY     (`id`)  
  )   ENGINE=MyISAM   DEFAULT   CHARSET=utf8;  
   
  明显可以看到字段类型为varchar的字符集都变成了gbk,但是数据库的字符集仍为utf8;  
   
  如果想连数据库的字符集也变成gbk,就要用  
  mysql>   alter   database   bookdb   default   character   set   gbk;

 

 

把现在的表导出来,然后把所有的   DEFAULT   CHARSET=utf8之类的语句改成DEFAULT   CHARSET=gbk,再运行,就行了

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13131231/viewspace-676936/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: sed 命令简解
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-07-31

  • 博文量
    2
  • 访问量
    4782

最新文章