我将其插入的 mysql 表(我们称之为 foo)是 latin1 字符编码的(通过显示的命令显示如何查看 MySQL 数据库/表/列是什么字符集?)并且我的数据库在之后具有以下结果显示变量:
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1
在 foo 中,我在 varchar(255) col 中存储了一个带有字符串 foo® 的条目,当我以十六进制查看它时,它显示它是以 utf8 (666F6FC2AE) 编码的。从 mysql 提示符运行选择查询会显示 foo®。但是,当我插入以 latin1 666F6FAE 编码的相同字符串时,当我在同一个 mysql 命令提示符下运行选择时,我得到一个 foo。为什么我的 latin1 表中有 utf8 编码的数据,为什么我无法将 latin1 编码的数据插入到我的表中?