gpt4 book ai didi

mysql - 在 MySQL 中何时使用 utf-8 以及何时使用 latin1?

转载 作者:IT王子 更新时间:2023-10-28 23:45:55 24 4
gpt4 key购买 nike

我知道 MySQL 具有默认的 latin1 编码,显然在 latin1 中存储一个字符需要 1 个字节,存储需要 3 个字节utf-8 中的一个字符 - 对吗?

我正在开发一个希望在全局范围内使用的网站。我绝对需要 utf-8 吗?或者我可以使用 latin1 吗?

另外,我尝试将一些表从 latin1 更改为 utf8,但出现此错误:特定键太长;最大 key 长度为 1000 字节有谁知道这个问题的解决方案?我真的应该解决这个问题还是 latin1 就足够了?

谢谢,亚历克斯

最佳答案

it takes 1 byte to store a character in latin1 and 3 bytes to store a character in utf-8 - is that correct?

存储一个latin1字符需要1个字节,存储一个需要13个字节>UTF8 字符。

如果您只在字符串中使用基本的拉丁字符和标点符号(Unicode 中的0128),两个字符集将占用相同的空间长度。

Also, I tried to change some tables from latin1 to utf8 but I got this error: "Speficief key was too long; max key length is 1000 bytes" Does anyone know the solution to this? And should I really solve that or may latin1 be enough?

如果你有一个 VARCHAR(334) 或更长的列,MyISAM 不会让你在其上创建索引,因为该列极有可能占用超过 1000 字节。

请注意,这样长度的 key 很少有用。您可以创建一个前缀索引,它对任何真实世界的数据几乎都具有选择性。

关于mysql - 在 MySQL 中何时使用 utf-8 以及何时使用 latin1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4857778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com