我正在使用Hiedisql V9.2。
我设置了默认服务器character-set is utfmb4
和collation is utf8mb4_unicode_ci
,但在创建存储过程后仍显示collation_connection =utf8mb4_general_ci
。
以下是服务器my.ini设置。
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
init_connect = 'SET NAMES utf8mb4'
collation-server = utf8mb4_unicode_ci
character-set-server=utf8mb4
SHOW VARIABLES WHERE Variable_name LIKE'character_set_%'或 Variable_name LIKE'collation%';
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| 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 |
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+--------------------------+--------------------+
创建存储过程后仍显示collation_connection=utf8mb4_general_ci
。
SHOW PROCEDURE STATUS where name LIKE 'ProcName'
+----------+----------------------+----------------------+--------------------+
| Name | character_set_client | collation_connection | Database Collation |
+----------+----------------------+----------------------+--------------------+
| ProcName | utf8mb4 | utf8mb4_general_ci | utf8mb4_unicode_ci |
+----------+----------------------+----------------------+--------------------+
那么,如何修复collation_connection=utf8mb4_general_ci
问题。
我想要collation_connection=utf8mb4_unicode_ci
。
答案 0 :(得分:3)
最后我遇到了问题。
这是我正在使用的Hiedisql工具的问题。运行脚本之前的Hiedisql工具集collation_connection=utf8mb4_general_ci
。
如何解决:
在运行任何脚本之前,只需在变量值下面设置。
SET collation_connection = @@collation_database;
OR
SET collation_connection = 'utf8mb4_unicode_ci';
注意:如果您想知道什么是实际排序规则,请使用mysql command prompt
它将返回实际结果。