質問: ### 前提・実現したいこと Mac(Sierra)へXAMPPをインストールしてphp、MySQLの学習をしております。 その際にターミナルからMySQL(MariaDB)を起動、「./mysql -u root -p」で接続し、 テーブルへレコードの追加をしようと思い、sql文を書いたのですが、 日本語を入力してエンターキーを押すと日本語の部分が消えてしまい、 入力自体ができません。phpmyadminからはできます。 そもそもMySQL上で日本語の入力自体が消えてしまいます。 色々なサイトを見て設定など変更したり見直してみたのですが、それでも変わらずです。 ターミナルの設定の問題なのでしょうか。 どなたか解決方法をお知りの方はご教授ください。 よろしくお願いします。 ### 発生している問題・エラーメッセージ MacのターミナルでMySQL(MariaDB)から日本語入力をしようとしてエンターキーを押すと 日本語が消えてしまう。 ### 該当のソースコード 例) ↓のように入力したいが insert into member(last_name,first_name) value('永田','bbb'); 「永田」の日本語入力部分がエンターキーを押したら消えてしまう。 そもそもMySQL上で日本語の入力自体が消えてしまいます。 ### 試したこと ・ホームディレクトリに .inputrcのファイルを作成し、 set convert-meta off set meta-flag on set output-meta on を記述。 ・ホームディレクトリに .bash_profileのファイルに export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 を追加した事で、localeコマンドで以下が表示される。 LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL="en_US.UTF-8" ・/Applications/XAMPP/etc/my.confの設定を追加 [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8 [mysqld] character-set-server=utf8 ・showコマンドで確認 SHOW VARIABLES LIKE 'char%';で以下と表示される。 MariaDB [(none)]> SHOW VARIABLES LIKE 'char%'; +--------------------------+------------------------------------------------+ | Variable_name | Value | +--------------------------+------------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /Applications/XAMPP/xamppfiles/share/charsets/ | +--------------------------+------------------------------------------------+ ### 補足情報(言語/FW/ツール等のバージョンなど) Mac(Sierra)ver10.12.5 XAMPP for OS X 7.1.2 PHP Version 7.1.2 Apache/2.4.25 (Unix) ・ターミナル設定詳細 control+Vで非ASCII入力をエスケープのチェックは外している テキストエンコーディング:Unicode(UTF-8)
回答: 少し前に環境は違いますが、同じようなことで困りました。 その時の原因より以下の点をご確認してみてください export LANG=en_US.UTF-8 ↓ export LANG=ja_JP.utf8