MySQL数据库 - 字符集和归类转换为utf8mb4和utf8mb4_unicode_ci?
我已经处理latin1使用collowing命令utf8mb4作为建议hereMySQL数据库 - 字符集和归类转换为utf8mb4和utf8mb4_unicode_ci?
ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
要检查的转换进行了适当转换我的MySQL数据库的字符集和校对,我已经运行下面的命令。
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'
输出是
虽然character_set_client字符,是character_set_connection,character_set_database,character_set_results现在在utf8mb4,character_set_filesystem是二进制和被character_set_server仍然是在拉丁美洲。究竟是什么以及为什么它仍然不在utf8mb4中?
同样,collation_connection是和collation_database查看在utf8mb4_unicode_ci,但collation_server的仍是latin1_swedish_ci
回答:
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_character_set_filesystem
这个变量被用来解释引用的文件名,如在LOAD DATA字符串文字INFILE和SELECT ... INTO OUTFILE语句和LOAD_FILE()函数。在文件打开尝试发生之前,这些文件名将从character_set_client转换为character_set_filesystem。默认值是二进制,这意味着不发生转换。
您可能不需要更改此值。
https://dev.mysql.com/doc/refman/5.7/en/charset-server.html
字符集和归类被用作默认值如果数据库字符集和核对未指定在CREATE DATABASE语句的服务器。他们没有其他目的。
您可以在您的/etc/my.cnf
中更改此值,但它是多余的,因为如果您已经为每个数据库指定了字符集。
以上是 MySQL数据库 - 字符集和归类转换为utf8mb4和utf8mb4_unicode_ci? 的全部内容, 来源链接: utcz.com/qa/266978.html