开发者社区> 问答> 正文

mysql 配置文件中的默认字符集设置与建表时默认字符集什么关系?:报错

在配置文件中更改了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,是不是上面的配置和表的默认字符集就没有关系?

除了建表的时候指定默认字符集以外,还有别的方式可以改变表的默认字符集吗?

展开
收起
kun坤 2020-06-06 11:52:01 783 0
1 条回答
写回答
取消 提交回答
  • 建数据库时,也可以指定默认字符集的:
    create database db1 default character set utf8;
    你可以用 status; 命令,查看各级别的字符集

    ######服务器,数据库,表,字段,这几个层级上都可以指定字符集,默认值逐级继承。为移植时兼容性,最好对每个字段指定字符集######如你所说看了这篇文章后清楚多了:http://hi.baidu.com/11haiou/item/212707dad7395f5ffb5768d3######

    有关系。你上面设置的默认字符集就是utf8.你那条建表的语句字符集是设置latin1了嘛。。

    ######没有,在图二中有创建表的sql语句,是在配置文件修改成功后,就是图一执行玩后,执行的图二的语句。######不管是linux,还是mysql,字符集统一就行,在my.cnf配置了default-character-set之后,create table操作就不要再指定字符集了######是啊,在建表时没有指定字符集,想着表的字符集应该是我配置文件里写的utf8,但是查看表的字符集是latiin1而不是utf8呀###### 因为你mysql数据库的database(oracle叫 schema )是 latin1格式。所以新建表默认也是latin1,即使配置成第一张图所示。
    2020-06-06 11:52:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像