我有一个表格设置为CHARACTER SET=utf8mb4
的数据库,但是我发现mysql连接(SET NAMES
)已经latin1
。
我的问题是:
utf8mb4
以存储它,或者将数据存储为latin1
?SET NAMES latin1
连接以提取数据?答案 0 :(得分:3)
数据存储在表格中定义的字符集中,因此在您的情况下,所有数据都将存储在utf8mb4
中。
与数据库的每个连接都使用字符集来发送和接收数据。该字符集可能不同,因此mysql在存储字符集和连接字符集之间进行转换。
所以,回答你的问题:
1)mysql转换它。
2)你不需要转换它。但是你需要确保如果你使用set names
,你实际上是使用你声称的字符集发送数据。
更多信息:http://dev.mysql.com/doc/refman/5.7/en/charset-connection.html