utf16 还是 utf32?我正在尝试以多种语言存储内容。一些语言使用双宽字体(例如,日文字体通常是英文字体的两倍)。我不确定我应该使用哪种数据库。有关这四个字符集之间差异的任何信息...
问问题
31473 次
2 回答
43
MySQL 的utf32
and utf8mb4
(以及标准的 UTF-8)可以直接存储 Unicode 指定的任何字符;前者的大小固定为每个字符 4 个字节,而后者的大小在每个字符 1 到 4 个字节之间。
utf8mb3
而原文utf8
只能存储前65,536个码点,将覆盖CJVK(中文、日文、越南、韩文),每个字符使用1到3个字节。
utf16
前 65,536 个代码点使用 2 个字节,其他所有代码点使用 4 个字节。
至于字体,这严格来说是一种视觉上的东西。
于 2012-07-18T02:25:46.393 回答
0
utf8mb4
是最好的。
utf8mb4
与 utf8 的每个字符 3 个字节相比,支持每个字符 4 个字节,因此它涵盖了更广泛的使用范围而不会出错。
例如,utf8mb4
您可以支持表情符号。如果您尝试在不受支持的字符集中插入表情符号,则会出现错误。
utf8mb4
是 2 的更现代版本,最终将取代旧版本。
于 2020-09-04T00:53:43.220 回答