日本語環境(UTF-8)でInfobrightを利用するにはどうすればいいか?すこし掘り下げて説明したいと思います。
- /etc/my-ib.cnfの編集 サーバから直接実行するから別にいいという人ってあんましいないと思います。基本、クライアントの端末、例えばWindows等からInfobrightに接続するケースがほとんどかと思います。 この場合で問題になるのが、日本語の文字化けの問題です。MySQL ODBC/Connector の設定で、文字コードを記載する部分がございます。当然Windowsの場合は、sjisを選択するわけですが、 この場合、Infobrightの設定のデフォルトは、latin1になっており、どんな文字コードを指定しても日本語の部分は文字化けしてしまいます。この文字化けを解消する手順としては、/etc/my-ib.cnf の内容に編集を加える必要があります。root権限で、/etc/my-ib.cnfを開いていただき、青字の部分を追記、および変更してください。
[mysqld] sql_mode = 'IGNORE_SPACE' default-character-set=utf8 skip-character-set-client-handshake collation_server=utf8_general_ci character_set_server=utf8
[client]
password = your_password
port = 5029 socket = /tmp/mysql-ib.sock default-character-set=utf8
※注意:データベースを作成する前に、当該設定を行う必要があります、すでに作成済みの場合は、データベースを作り直す必要があるかと思いますのでご注意を。
- サービスの再起動
/etc/init.d/mysqld-ib stop
/etc/init.d/mysqld-ib start
- 上記2の作業が終了した後、mysql-ibでログインし、データベースを作成します、コマンドで、MYDWHが下のような結果になれば、UTF-8対応は完了しております。
mysql-ib -u root -p
mysql> create database MYDWH mysql> use MYDWH mysql> SHOW CREATE DATABASE MYDWH;
| Database | Create Database |
| NPDWHIB | CREATE DATABASE MYDWH
/!40100 DEFAULT CHARACTER SET utf8 / |
1 row in set (0.00 sec)
mysql> show variables like '%character%';