MySQL Command Line ClientとMySQL Command Line Client - Unicodeどっちが無難？


MySQL Command Line ClientとMySQL Command Line Client -
Unicodeの違いは文字コード規格のUnicodeの違いでしかないようですが、どちらを使ったほうが無難でしょうか？


  
  
以下の MySQL のドキュメントの「Unicode Support on Windows」というセクションに説明があります。

4.5.1.6 mysql Client Tips  
<https://dev.mysql.com/doc/refman/8.0/en/mysql-tips.html>

MySQL command line client - Unicode で、Windows のコンソールがサポートしている UTF-16LE
が使えるようになるということらしいです。

具体的にどういうことかというと、自分が試した限りの話ですが、例えば以下のようなテーブルが MySQL にあるとすると、

[![画像の説明をここに入力](https://i.stack.imgur.com/8aQWN.jpg)](https://i.stack.imgur.com/8aQWN.jpg)

ちなみに、最後の行の Title の各文字は以下の通りです。

あ : Shift_JIS にあります  
丂 : 0x4E02、BMP には含まれるが Shift_JIS にはありません  
: サロゲートペア  
: サロゲートペア  
‍ : と を ZeroWidthJoiner (0x200D) で連結

MySQL command line client の場合は以下のようになります。Shift_JIS 以外は認識してくれないようです。

[![画像の説明をここに入力](https://i.stack.imgur.com/UXQFi.jpg)](https://i.stack.imgur.com/UXQFi.jpg)

MySQL command line client - Unicode の場合は以下のようになります。 ‍ も where Title like '%〇%'
の 〇 としては有効でした。

[![画像の説明をここに入力](https://i.stack.imgur.com/ym1bA.jpg)](https://i.stack.imgur.com/ym1bA.jpg)

* * *

【追記】

上の説明より以下のように charset を調べた方が分かりやすかったと思います。

Command Line Client

[![画像の説明をここに入力](https://i.stack.imgur.com/zyh2K.jpg)](https://i.stack.imgur.com/zyh2K.jpg)

Command Line Client - Unicode

[![画像の説明をここに入力](https://i.stack.imgur.com/e89Hv.jpg)](https://i.stack.imgur.com/e89Hv.jpg)

character_set_client: クライアントが送信するステートメントの文字セット

haracter_set_connection: サーバーがステートメントを受信したあと、変換する文字セット

character_set_results: サーバーがクライアントにクエリー結果を返信するときに使用する文字セット

