如果用戶想改變表的默認字符集和所有的字符列的字符集到一個新的字符集,使用下面的語句: ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name; 警告: 上述操作是在字符集中轉換列值。如果用戶在字符集(如 gb2312)中有一個列,但存儲的值使用的是其它的一些不兼容的字符集(如 utf8),那么該操作將不會得到用戶期望的結果。在這種情況下,用戶必須對每一列做如下操作: ALTER TABLE t1 CHANGE c1 c1 BLOB; ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8; 這樣做的原因是:從 BLOB 列轉換或轉換到 BLOB 列沒有轉換發(fā)生。 如果用戶指定以二進制進行 CONVERT TO CHARACTER SET,則 CHAR、VARCHAR 和 TEXT 列將轉換為它們對應的二進制字符串類型(BINARY,VARBINARY,BLOB)。這意味著這些列將不再有字符集,隨后的 CONVERT TO 操作也將不會作用到它們上。 如果僅僅改變一個表的缺省字符集,可使用下面的語句: ALTER TABLE tbl_name DEFAULT CHARACTER SET charset_name; DEFAULT是可選的。當向一個表里添加一個新的列時,如果沒有指定字符集,則就采用缺省的字符集(例如當ALTER TABLE ... ADD column)。 ALTER TABLE ... DEFAULT CHARACTER SET 和 ALTER TABLE ... CHARACTER SET 是等價的,修改的僅僅是缺省的表字符集。 以上來源:http://13998392852.blog.163.com/blog/static/3343967820091012101327542/ 1.修改MySQL的數(shù)據(jù)庫的字符集 數(shù)據(jù)庫代碼 alter database shop default character set utf8 collate utf8_bin;
alter database shop default character set utf8 collate utf8_bin; 2.修改MySQL的表的字符集 表代碼 alter table producttype default character set utf8 collate utf8_bin
alter table producttype default character set utf8 collate utf8_bin 3.修改MySQL的字段的字符集 Java代碼 alter table producttype change name name varchar(128) character set utf8 collate utf8_bin not null;
|