2013年3月4日月曜日

StrutsによるWebアプリケーションスーパーサンプルのDB作成2

◆概要

文字コードの設定の差異でこける。
インストールしていたMySQLのデフォルトcharsetはutf8。
でもサンプルで想定されていたのはsjhiftjisだったため、
データをloadできなかったり、select結果が化けたりしました。

◆調べた結果
DB作成時に character set = sjisとすればそのDBのcharsetを変えることができる。

create database if not exists struts character set = sjis;

select結果が化ける場合は、
表示したいcharset に変えてあげればよい。

charset sjis;

[select実行結果]
mysql> select * from room
    -> ;
+--------+--------------------+------------+
| roomid | roomNo             | buildingid |
+--------+--------------------+------------+
| 1-201  | 201莨夊ュー螳、          |          1 |
| 1-301  | 301迚ケ蛻・莨夊ュー螳、      |          1 |
| 2-201  | 2F蠢懈磁螳、           |          2 |
| 2-202  | 201莨夊ュー螳、          |          2 |
| 2-203  | 202莨夊ュー螳、          |          2 |
+--------+--------------------+------------+
5 rows in set (0.00 sec)

mysql> charset sjis
Charset changed
mysql> select * from room;
+--------+---------------+------------+
| roomid | roomNo        | buildingid |
+--------+---------------+------------+
| 1-201  | 201会議室     |          1 |
| 1-301  | 301特別会議室 |          1 |
| 2-201  | 2F応接室      |          2 |
| 2-202  | 201会議室     |          2 |
| 2-203  | 202会議室     |          2 |
+--------+---------------+------------+
5 rows in set (0.00 sec)


◆参考資料
http://dev.mysql.com/doc/refman/5.5/en/create-database.html

0 件のコメント: