#状況
ターミナルでmysqlを操作する際のみ、日本語が使えなくなります。sqlコマンド内に日本語を含めるとselect * from tb where c1 = '' and c2 ';
のように空白になります。ウェブ側(クライアント側)からphpなどでsqlを挿入する時は、日本語が使えます。
#試したこと
コマンドでcharacter_set_serverとcharacter_set_serverをutf8にしました。それ以外はもともとutf8でした。下記のコマンドは一時的なものらしく、mysqlに入り直すと設定値は元に戻っていました
sql
1mysql> SET character_set_server=utf8; 2Query OK, 0 rows affected (0.00 sec) 3
sql
1 2mysql> show variables like 'character%'; 3+--------------------------+-------------------------------------------+ 4| Variable_name | Value | 5+--------------------------+-------------------------------------------+ 6| character_set_client | utf8 | 7| character_set_connection | utf8 | 8| character_set_database | utf8 | 9| character_set_filesystem | binary | 10| character_set_results | utf8 | 11| character_set_server | utf8 | 12| character_set_system | utf8 | 13| character_sets_dir | /rdsdbbin/mysql-5.6.35.R1/share/charsets/ | 14+--------------------------+-------------------------------------------+ 158 rows in set (0.00 sec) 16
#ファイルを修正
my.cnfに追加記入を加えました。
$ sudo vi /etc/my.cnf
[mysqld] #なんの変化もなし character-set-server=utf8
#考えられる原因
コマンド入力で設定値を変えても、下記のようにグローバルな領域を見ると、ほぼ全てがlatin1になっています。でも、クライアントからの受け取りは日本語でいけるので、違うかも。
sql
1show global variables like 'character%';
sql
1mysql> show global variables like 'character%'; 2+--------------------------+-------------------------------------------+ 3| Variable_name | Value | 4+--------------------------+-------------------------------------------+ 5| character_set_client | latin1 | 6| character_set_connection | latin1 | 7| character_set_database | latin1 | 8| character_set_filesystem | binary | 9| character_set_results | latin1 | 10| character_set_server | latin1 | 11| character_set_system | utf8 | 12| character_sets_dir | /rdsdbbin/mysql-5.6.35.R1/share/charsets/ | 13+--------------------------+-------------------------------------------+ 148 rows in set (0.00 sec)
再起動
また、自分は意識的にアパッチやdbの再起動を行わず、exitsやコントロールRとかでログイン状態を離脱して、入り直すという手段を選択していますが、再起動をかけないとだめなのでしょうか。経験則から無意味に再起動するのが何故か抵抗があります。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー