首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Utf8和latin1

Utf8和latin1
EN

Stack Overflow用户
提问于 2019-08-05 09:56:34
回答 2查看 326关注 0票数 1

数据库中有大量数据的表的一半设置为拉丁语1。在这些拉丁1表中,如果行需要文本输入(任何非整数),则大多数行被设置为utf8。

一切都是用英语写的。

如果我需要将这些拉丁文1表转换为utf8,情况会有多糟?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-05 17:55:14

首先,澄清一下:您说“大多数设置为utf8";我假设您的意思是”大多数设置为utf8"?

表上的latin1的含义只是一个缺省值。它对性能等没有影响。

如果您在不指定ALTER TABLE .. ADD COLUMN ..的情况下执行CHARACTER SET utf8,那么唯一的“危害”会发生。

你说所有的课文都是英语?然后,latin1和utf8之间没有编码差异。如果你有重音字母等,问题就会发生。

有一个性能问题:如果您将两个表放在一个JOIN列上,但是该列在两个表中的CHARACTER SETCOLLATION不同,则会比这些设置相同时慢。(听起来你没有这个问题。)同样,请注意,表的默认设置与此无关,只涉及列设置本身。

是的,将表默认设置为utf8会更“干净”。这应该是一种在不倾销的情况下做到这一点的方法,但通过一次一次地更改表:

代码语言:javascript
复制
ALTER TABLE t CONVERT TO CHARACTER SET utf8;

这将更改表的默认值和任何尚未成为utf8的列。

票数 1
EN

Stack Overflow用户

发布于 2019-08-05 10:29:21

mysqldump

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

https://stackoverflow.com/questions/57356206

复制
相关文章

相似问题

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