MySQLからロードした日本語の文字情報をクライアントで表示できない
利用端末 TeraTerm 4.103
MySQL 5.6.10
TeraTerm 端末設定
コーディング受信、コーディング送信 = UTF-8
ロケール: american <= あまり影響ないと思います。
設定はUTF8です。
UTF8エンコーディングあるファイルはsource
コマンドで実行時、正常に実行できますが、selectを実行時日本語がある情報は???を示します。
mysql> show variables like '%char%';
+--------------------------+--------------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | 。。。。 |
+--------------------------+--------------------------------------------------+
8 rows in set (0.01 sec)
別のstackoverflowのpost確認時、2つ対応方法を試し見ましたが、文字化け文字を残ります。
対応1:
set names utf8;
対応2:
クライアント実行時、デフォルト文字コードを指定
mysql --default-character-set=utf8
或いは
mysql --default-character-set=utf8mb4
参照:
MySQL command line formatting with UTF8 - Stack Overflow
他の方法がないですか?ちなみに、OS(Linux)の文字コードはUTF8です。
============================================
補足情報
システム言語値:
[ec2-user@ip-10-16-0-53 ~]$ echo $LANG
en_US.UTF-8
[ec2-user@ip-10-16-0-53 ~]$ env | grep LANG
LANG=en_US.UTF-8
フォント設定
フォント名:Terminal
フォントStype:Regular
フォントサイズ:9
Script: OEM/DOS
====================
※解決できましたが、原因分からない、もし他人同じ問題があるため、補足情報追加
最初インストールしたのTeraTermはWindows Installer型はProgram Files (x86)ディレクトりにインストールします。このTeraTermは日本語示すできません。
https://osdn.net/projects/ttssh2/downloads/71232/teraterm-4.103.exe/
も一回RC版の圧縮ZIPファイル型のTeraTermダウンロードして、解凍し、今回のTeraTermは日本語表示できます。
https://osdn.net/projects/ttssh2/downloads/71210/teraterm-4.103-RC2.zip/
teraterm-4.103.exe vs teraterm-4.103-RC2.zipはどの違いがわかりません。多分Program Filesでインストール影響がある、原因調査します。