utf16或utf32?我正在尝试以多种语言存储内容。某些语言使用双宽字体(例如,日语字体通常是英文字体的两倍)。我不确定我应该使用哪种数据库。有关这四个字符集之间差异的任何信息......
答案 0 :(得分:40)
MySQL的utf32
和utf8mb4
(以及标准的UTF-8)可以直接存储Unicode指定的任何字符;前者是固定大小,每个字符4个字节,而后者每个字符1到4个字节。
utf8mb3
原始utf8
只能存储前65,536个代码点,这些代码点将涵盖CJVK(中文,日文,越南,韩文),每个字符使用1到3个字节。
utf16
对前65,536个代码点使用2个字节,对其他所有代码点使用4个字节。
至于字体,这绝对是一种视觉效果。
答案 1 :(得分:0)
utf8mb4
是最好的。
utf8mb4
支持每个字符4个字节,而utf8支持每个字符3个字节,因此它涵盖了更广泛的用途,没有错误。
例如,通过utf8mb4
,您可以支持表情符号。如果尝试在不受支持的字符集中插入表情符号,则会出现错误。
utf8mb4
是2的更新版本,最终将替换旧版本。