在配置文件中更改了mysql 的默认配置文件中有关字符集的配置选项,如下:
[client] default-character-set=utf8 [mysqld] #set the default character set. character-set-server=utf8 init_connect='SET NAMES utf8' [mysqld_safe] default-character-set=utf8 [mysql] default-character-set=utf8配置成功后,
建了一个表:
但是表的默认字符集还是latin1,而不是我想的utf8,是不是上面的配置和表的默认字符集就没有关系?
除了建表的时候指定默认字符集以外,还有别的方式可以改变表的默认字符集吗?
建数据库时,也可以指定默认字符集的:
create database db1 default character set utf8;
你可以用 status; 命令,查看各级别的字符集
有关系。你上面设置的默认字符集就是utf8.你那条建表的语句字符集是设置latin1了嘛。。
######没有,在图二中有创建表的sql语句,是在配置文件修改成功后,就是图一执行玩后,执行的图二的语句。######不管是linux,还是mysql,字符集统一就行,在my.cnf配置了default-character-set之后,create table操作就不要再指定字符集了######是啊,在建表时没有指定字符集,想着表的字符集应该是我配置文件里写的utf8,但是查看表的字符集是latiin1而不是utf8呀###### 因为你mysql数据库的database(oracle叫 schema )是 latin1格式。所以新建表默认也是latin1,即使配置成第一张图所示。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。