MySQL如何修改表格的字符集,如何修改某個字段的字符集 如果用戶想改變表的默認字符集和所有的字符列的字符集到一個新的字符集,使用下面的語句: 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 列沒有轉換發生。 如果用戶指定以二進制進行 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 是等價的,修改的僅僅是缺省的表字符集。