Open Source WEB

キャラクタセット関係の指定がなにもされていない、 英語バージョンになっている場合から話を始めよう。

mysql> SHOW VARIABLES LIKE 'character\_set\_%';
+--------------------------+--------+
| Variable_name            | Value  |
+--------------------------+--------+
| character_set_client     | latin1 |
| character_set_connection | latin1 |
| character_set_database   | latin1 |
| character_set_results    | latin1 |
| character_set_server     | latin1 |
| character_set_system     | utf8   |
+--------------------------+--------+
6 rows in set (0.00 sec)

なお、ターミナルのイメージで表示するのは面倒なので、またこんな感じに 横着な表示に戻すことにした。

gnome-terminalの文字コード(Character Encodingのことを、 以降で単に文字コードと呼ぶことがあるかも)は、現在 EUC-JPである。

このとき、以下のように漢字文字列は、ちゃんと処理される。

【ターミナル:EUC-JP】

mysql> SELECT '漢字';
+------+
| 漢字 |
+------+
| 漢字 |
+------+
1 row in set (0.01 sec)

ここで、ターミナルの文字コードを、Unicode(UTF-8)にしてみよう。 そして、同じことをすると、どうなるか。

【ターミナル:UTF-8】

mysql> SELECT '漢字';
+--------+
| 漢字 |
+--------+
| 漢字 |
+--------+
1 row in set (0.02 sec)

漢字は表示されたのだが、テーブルの表示が崩れてしまった。 半角2文字分、漢字表示の部分が短くなってしまった。

なぜそうなのか、というのは後で考えることにして、 次は、ターミナルの文字コードを、Japanese(SHIFT-JIS)にして、 また同じことをやってみよう。

【ターミナル:SHIFT-JIS】

mysql> SELECT '漢字';
+------+
| ソ字  |
+------+
| 漢字 |
+------+
1 row in set (0.00 sec)

今度は、下側はちゃんと漢字が出ているが、上側は文字化けを起こしてしまった。

う〜ん、なかなか不可解なところがあるようなので、今日はここまでにしておこう。


戻る:複数キャラクタセット対応端末gnome-terminal

次へ:キャラクタセットとキャラクタエンコーディング


フィードバック:

Name:
Comment:

There is no comment.

このサイトは、 IPA の「平成15年度オープンソフトウエア活用基盤整備事業」 の委託事業として開発されたKahuaで試験的に運用しております。

Copyright (c) 2004-2007 株式会社タイムインターメディア About Us