首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySql:从latin1改为utf8

MySql:从latin1改为utf8
EN

Database Administration用户
提问于 2012-02-23 16:51:04
回答 1查看 2.5K关注 0票数 2

今天,我的数据库字符集和排序规则被设置为latin1。但是,数据库中的所有表都已设置为默认CHARSET=utf8,并且所有数据都是utf8。

如果将字符集和数据库的排序规则更改为utf8是否安全?

在my.cnf文件中设置默认设置是否安全:

客户端默认值-字符集=utf8 8

米舍尔德默认值-字符集= utf8

数据库中的典型表如下所示:

代码语言:javascript
复制
CREATE TABLE `tblpayment` (
    `paymentid` int(11) NOT NULL AUTO_INCREMENT,
    `userid` mediumint(9) DEFAULT NULL,
    `payed` enum('False','True') CHARACTER SET latin1 DEFAULT 'False',
    PRIMARY KEY (`paymentid`)
) ENGINE=InnoDB AUTO_INCREMENT=72803 DEFAULT CHARSET=utf8;

正如您可以看到的那样,枚举"payed“出于某种原因仍然在使用latin1,但是表的其余部分是utf8。将枚举的字符集改为utf8是否安全?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2012-02-23 17:11:05

设置默认字符集和排序规则是完全安全的。这将确保今后的DDL更改将使用utf8,但不会影响使用latin1的现有列。这些必须转换为utf8。备份数据,因为存在数据损坏(一个例子)的风险。

为了完整起见,我将指出,在my.cnf中添加更改将需要重新启动服务器。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/13786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档