俺だけのために Ore! Tips!

mysql コマンドで日本語を使う

2004年10月19日 作業

MySQL では、テーブルの項目名で日本語を使ってもバッチリ大丈夫だというから「取引先ID」とか「名称」とかしてみたのに、なんと、mysql で日本語が使えねえ!!

%mysql -h web.netandfield.com -u wadaya -p wadaya
Enter password:XXXXXXXX(実際は何も表示されない)
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 37 to server version: 4.0.21-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show tables;
+------------------+
| Tables_in_wadaya |
+------------------+
| m_client         |
| m_job            |
| m_worker         |
| t_task           |
+------------------+
4 rows in set (0.01 sec)

mysql> select * from m_client;
+----------+------------------------------+------------------------------------+----------------+----------+--------------------------------+-----------------+--------------+-------+-------+-------+--------------+------+----------------------------+------+----------------+
| 取引先ID | 名称                         | カナ名称                           | 略称           | 郵便番号 | 住所                           | 住所2           | 電話1        | 電話2 | 電話3 | 電話4 | FAX1         | FAX2 | URL                        | 備考 | 更新日         |
+----------+------------------------------+------------------------------------+----------------+----------+--------------------------------+-----------------+--------------+-------+-------+-------+--------------+------+----------------------------+------+----------------+
| 1001     | 株式会社中国労働者開発ABC | チュウゴクロウドウシャカイハツ ABC | 中国労働者開発 | 7300854  | 広島県広島市中区江波山三丁目4 | 大江波山ビル8F | 082-999-9999 |       |       |       | 082-888-8888 |      | http://www.eba-yama.gr.jp/ |      | 20040928233700 |
+----------+------------------------------+------------------------------------+----------------+----------+--------------------------------+-----------------+--------------+-------+-------+-------+--------------+------+----------------------------+------+----------------+
1 row in set (0.01 sec)

で、select 取引先ID,名称 from m_client と入力しようとしたところ、

mysql> SHOW TABLES;ID

こんな風に、なんか前に入れたコマンドが混ざり合った変な表示に。
つまり、「取引先ID」と入力したとたんに化け化けなわけ。mysql は日本語通らんのんかい!?
・・・と憤慨してたんだが、環境変数をセットしてやれば日本語が通るようになるらしい。

ということで、ホームディレクトリ上に .inputrc ファイルを作成。

%cd
%cat > .inputrc
set convert-meta off
set meta-flag on
set output-meta on

%mysql -h web.netandfield.com -u wadaya -p wadaya
Enter password:XXXXXXXX(実際は何も表示されない)
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 36 to server version: 4.0.21-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select 取引先ID,名称 from m_client;
+----------+------------------------------+
| 取引先ID | 名称                         |
+----------+------------------------------+
| 1001     | 株式会社中国労働者開発ABC |
+----------+------------------------------+
1 row in set (0.00 sec)

mysql> \q
Bye

うん。ちゃんと日本語使えたじゃん!!
目出度し、目出度し。


前ページに戻る


Copyright (C) 2004 S.Maaasamasa.