2009-06-11 40 views

回答

10

据我所知,你不能运行在ALTER TABLE命令表information_schema。相反,您可能需要查看character_set_*变量。你可以看到这在你的MySQL服务器用show variables指令值的变量设置:

show variables like "character_set_%"; 

具有与MySQL的元数据,如information_schema表做的变量,是character_set_system变量。我认为my.cnf是正确的地方。

还有更多的信息在这个页面上:UTF-8 for Metadata

对于普通表,更改字符集的表与ALTER TABLE命令:

alter table some_table convert to character set utf8; 

要做到这一点,你将需要“改变”特权。

您可以通过show privileges命令查看您的MySQL服务器支持哪些权限,您可以通过show grants命令查看授予当前用户的权限。

19

要更改所有列的字符集和校对规则在现有的表,使用:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]; 
+0

什么权限的我是否需要更改系统数据库的任何想法 – 2009-06-11 07:11:24

2
alter table some_table convert to character set utf8; 

真棒,工作很好,据我可以告诉我,现在我可以在该表中使用中文!我可以在我的网站中删除所有的utf8_encode()utf8_decode()!

相关问题