Mysql 插入值是否使用集合名称、集合字符集进行编码?

Mysql 插入值是否使用集合名称、集合字符集进行编码?,mysql,encoding,utf-8,Mysql,Encoding,Utf 8,使用MySQL,我已将连接字符集设置为UTF-8: SET NAMES 'utf8mb4'; SET CHARACTER SET 'utf8mb4'; 通过这种方式,我将所有内容恢复为UTF-8,即使是具有拉丁1_瑞典_ci排序规则的表(也有一些) 当我发送UTF-8 INSERT字符串时,要插入到其中一个latin1表中,值是否会被编码为latin1?第一个首选项:为“字符集”使用编程语言特定的连接参数 第二个首选项:设置名称utf8mb4--(无需报价) 列/表上的字符集独立于此连接/集名

使用MySQL,我已将连接字符集设置为UTF-8:

SET NAMES 'utf8mb4';
SET CHARACTER SET 'utf8mb4';
通过这种方式,我将所有内容恢复为UTF-8,即使是具有拉丁1_瑞典_ci排序规则的表(也有一些)


当我发送UTF-8 INSERT字符串时,要插入到其中一个latin1表中,值是否会被编码为latin1?

第一个首选项:为“字符集”使用编程语言特定的连接参数

第二个首选项:
设置名称utf8mb4--(无需报价)

列/表上的
字符集
独立于此连接/
集名称

连接/
设置名称
声明客户端中字节使用的编码<代码>插入
/
选择
将在该声明和列/表声明之间进行转换,从而实现utf8-latin1观察

“当我发送UTF-8 INSERT字符串时,要插入到其中一个latin1表中,值会被编码为latin1吗?”--重申一下,您发送的字节必须根据
集合名称进行编码。如果可能,它们将在表中正确转换为拉丁文1。我说“如果可能”是因为中文、表情符号等不能转换成拉丁文1,因为拉丁文1只能处理非常有限的字符集(仅适用于西欧)