【发布时间】:2017-11-27 14:54:15
【问题描述】:
我目前有一个具有以下设置的 MySQL 数据库:
character_set_client: utf8
character_set_connection: utf8
character_set_database: utf8
character_set_filesystem: binary
character_set_results: utf8
character_set_server: latin1
character_set_system: utf8
collation_connection: utf8_general_ci
collation_database: utf8_general_ci
collation_server: latin1_swedish_ci
我想在数据库中支持表情符号和其他语言(如中文)。目前这不起作用,这些字符会自动转换为?。
我用charset & collation utf8mb4(_general_ci) 创建了一个测试数据库以及一个具有相同设置的表。表情符号在这里工作。但是,当我将数据库设置更改为 utf8(_general_ci) 并将表格保留为 utf8mb4(_general_ci) 时,表情符号仍在工作,而我的主数据库不是这种情况。
如果我将我的主数据库设置更改为charset + collation utf8mb4(_general_ci),以及表格,那会起作用吗?
对于数据库访问,是否需要更改其他任何内容,例如character_set_connection 或collation_connection?
我知道在我的 JavaScript 服务器上,连接配置为 utf8,我假设它必须是 utf8mb4。
所有当前的utf8(_general_ci) 数据,在更改为utf8mb4(_general_ci) 时会保持不变吗?
【问题讨论】:
标签: mysql database utf-8 character-encoding