0

デフォルトの文字セットを に設定し、照合utf8mb4utf8mb4_unicode_ci

チュートリアルで指定されているように、C:\ProgramData\MySQL\MySQL Server 5.7にある .ini ファイルに次の設定を適用しました。

    [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

MySql Workbench でこのクエリを実行すると、次のようになります。

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'

期待するシステム変数が表示されていないため、最初はサーバーの構成が間違っていると思いました。

MySql Workbench の出力

character_set_client       utf8
character_set_connection   utf8
character_set_database     utf8mb4
character_set_filesystem   binary
character_set_results      utf8
character_set_server       utf8mb4
character_set_system       utf8
collation_connection       utf8_general_ci
collation_database         utf8mb4_unicode_ci
collation_server           utf8mb4_unicode_ci

ただし、ネイティブの MySQL コマンド ライン クライアントを使用すると、次のような結果が得られます。

+--------------------------+--------------------+
| 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 |
+--------------------------+--------------------+

コマンド ライン クライアントのように、MySql Workbench が構成設定を尊重しないのはなぜですか?

MySql : Windows/5.7.21
MySql Workbench : Windows/6.3.10

4

1 に答える 1