mysql latin1是否也支持表情符号?

mysql latin1是否也支持表情符号?,mysql,emoji,Mysql,Emoji,现在因为下面的现象我觉得我完全不懂字符集。首先,我认为只有utf8mb4支持表情符号,例如如果不将其转换为base64,则不能将任何内容存储到latin1字段中 它可能会工作,但稍后会失败。特别是有多字节字符,如表情符号。我认为您在数据库中保存并检索了一个字节字符串,终端将其解释为Unicode字符。检查t4的选择长度(数据)、字符长度(数据)的输出,查看发生了什么。它们应该为多字节字符返回不同的值,为latin1@axiac返回相同的值。你说得对。长度(data)和字符长度(data)的值都是

现在因为下面的现象我觉得我完全不懂字符集。首先,我认为只有utf8mb4支持表情符号,例如如果不将其转换为base64,则不能将任何内容存储到latin1字段中


它可能会工作,但稍后会失败。特别是有多字节字符,如表情符号。

我认为您在数据库中保存并检索了一个字节字符串,终端将其解释为Unicode字符。检查t4的
选择长度(数据)、字符长度(数据)的输出,查看发生了什么。它们应该为多字节字符返回不同的值,为
latin1
@axiac返回相同的值。你说得对。长度(data)和字符长度(data)的值都是4。您的意思是,虽然在mysql交互界面环境中,字符集是latin1,但实际上mysql客户端使用OS默认字符集(utf8)。也就是说,mysql客户端使用utf8将这个表情符号编码为F09F9880,然后将它们放入数据列中。当retreveit时,mysql客户端使用utf8将其解码为正确的表情符号。所以,如果我可以得出结论,在mysql交互界面中,执行集名称没有意义,因为它总是使用os字符。