使用UTF8作为字符集与使用latin1相比有哪些优点/缺点?
如果utf能够支持更多的字符,并且一直被使用,它不是总是更好的 Select 吗?有什么理由 Select 拉丁语吗?
使用UTF8作为字符集与使用latin1相比有哪些优点/缺点?
如果utf能够支持更多的字符,并且一直被使用,它不是总是更好的 Select 吗?有什么理由 Select 拉丁语吗?
latin1
的优点是它是单字节编码,因此可以在相同的存储空间中存储更多的字符,因为MySQL中字符串数据类型的长度取决于编码.这本手册states
为了计算用于存储特定字符的字节数, VARCHAR或TEXT列值,则必须考虑 用于该列的字符集以及值是否包含 多字节字符.特别是在使用UTF8 Unicode时 字符集,您必须记住并非所有字符都使用 相同的字节数.utf8mb3和utf8mb4字符集可能需要 每个字符最多分别为三个和四个字节.对于 用于不同类别的utf8mb3或 utf8mb4个字符,请参阅第10.9节"Unicode支持".
此外,使用单字节编码时,许多字符串操作(如获取子串和依赖于排序规则的比较)速度更快.
在任何情况下,如果您关心国际化,latin1都不是一个重要的竞争者.当您要存储已知的安全值(例如百分比编码的URL)时,它可能是一个合适的 Select .