如何更改MySQL表的默认字符集?
有一个MySQL table ,这个定义取自SQLYog Enterprise : 
 Table Create Table ----------------- --------------------------------------------------------- etape_prospection CREATE TABLE `etape_prospection` ( `etape_prosp_id` int(10) NOT NULL AUTO_INCREMENT, `type_prosp_id` int(10) NOT NULL DEFAULT '0', `prosp_id` int(10) NOT NULL DEFAULT '0', `etape_prosp_date` datetime DEFAULT NULL, `etape_prosp_comment` text, PRIMARY KEY (`etape_prosp_id`), KEY `concerne_fk` (`prosp_id`), KEY `de_type_fk` (`type_prosp_id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 
 我想把这个表的default charset从latin1改为utf8 。 怎么做 ? 
 如果要将表格default character set和所有字符列更改为新的字符集,请使用如下所示的语句: 
 ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name; 
所以查询将是:
 ALTER TABLE etape_prospection CONVERT TO CHARACTER SET utf8; 
更改表格的默认字符集:
 ALTER TABLE etape_prospection CHARACTER SET utf8, COLLATE utf8_general_ci; 
要更改string列字符集,请执行以下查询:
 ALTER TABLE etape_prospection CHANGE COLUMN etape_prosp_comment etape_prosp_comment TEXT CHARACTER SET utf8 COLLATE utf8_general_ci; 
 您可以使用alter table set default charset但不会更改现有列的charset。 要改变,你需要使用一个alter table modify column 。 
更改列的字符集只意味着它将能够存储更广泛的字符。 您的应用程序使用mysql客户端与db进行通信,因此您可能还需要更改客户端编码。
  ALTER TABLE MySQL命令应该做的。 运行 
 ALTER TABLE etape_prospection CHARSET=utf8; 
会将表格的默认字符集更改为UTF8。 我build议您在修改任何实时数据之前调查ALTER TABLE MySQL文档中的语法。