mysql 支持emoj表情
检验是否支持
检测你的数据库版本 数据库版本需>=5.5.3版本 安装的是mysql下的个开源分支mariadb 版本10.0对应的是mysql版本5.6以上 支持
SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’;
查询结果 所有结果集utf8mb4
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server utf8mb4
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
collation_connection utf8mb4_general_ci
collation_database utf8mb4_unicode_ci
collation_server utf8mb4_unicode_ci
如果不是
由于mysql所设置的字符集不支持utf8mb4导致
修改mysql server [window为my.ini]
改配置文件/mysql/bin/my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[先备份原数据 以应不测]
存在的数据库的字符集是utf8的 如果要支持utf8mb64则需要将已经存在的数据库 表 表字段类型修改成支持utf8mb64
执行数据库和表 字段的字符集sql
修改数据库字符集
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
修改表的字符集
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
修改字段的字符集
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
[先备份原数据 以应不测]
如我这样操作的
ALTER DATABASE icms CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE icms_content_article_data CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE icms_content_article_data modify `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE icms_content_examplecode modify `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE icms_content_comment modify `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
表多的话有点麻烦
检验是否支持
检测你的数据库版本 数据库版本需>=5.5.3版本 安装的是mysql下的个开源分支mariadb 版本10.0对应的是mysql版本5.6以上 支持
SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’;
查询结果 所有结果集utf8mb4
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server utf8mb4
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
collation_connection utf8mb4_general_ci
collation_database utf8mb4_unicode_ci
collation_server utf8mb4_unicode_ci
如果不是
由于mysql所设置的字符集不支持utf8mb4导致
修改mysql server [window为my.ini]
改配置文件/mysql/bin/my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[先备份原数据 以应不测]
存在的数据库的字符集是utf8的 如果要支持utf8mb64则需要将已经存在的数据库 表 表字段类型修改成支持utf8mb64
执行数据库和表 字段的字符集sql
修改数据库字符集
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
修改表的字符集
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
修改字段的字符集
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
[先备份原数据 以应不测]
如我这样操作的
ALTER DATABASE icms CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE icms_content_article_data CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE icms_content_article_data modify `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE icms_content_examplecode modify `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE icms_content_comment modify `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
表多的话有点麻烦
尊贵的董事大人
英文标题不为空时 视为本栏投稿
需要关键字 描述 英文标题