我已经在PHP和MySQL中将所有排序规则和字符集设置为UTF8。没有问题。但是如http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html所示,标准utf8_general_ci
排序规则使用三个字节来存储字符。这应该足以存储所有BMP个字符。但是我仍然没有发现任何提示,如果所有韩国和日本字符都包含在BMP中,或者是否存在需要存储四个字节的字符。我只是想知道,如果utf8_general_ci
和utf8_bin
真的足以存储所有韩语/日语字符,或者我是否必须使用utf8mb4_general_ci
和utf8mb4_bin
?
答案 0 :(得分:2)
最常用的字符在BMP中。较高层中的角色大多是罕见的和历史性的,但其中一些可能在个人名称中使用。如果您可以使用utf8mb4
,那么您应该这样做。