LUNARAVE WEBクリエーターの仕事と休息

アクセスカウンタ

help リーダーに追加 RSS DBの文字コードによる文字化け対策 -EC-CUBE-

<<   作成日時 : 2008/02/22 12:36   >>

トラックバック 0 / コメント 0

DBとCGIでWebアプリケーションを作っていると必ず頭を悩ますのが文字コードの違いによる文字化けの問題で、その環境で動作する"EC-CUBE"にいたっても例外ではない。

文字化けの原因としては、
 ・(A)DBインストール時の文字コードの設定
 ・(B)DB作成時に指定する文字コード
 ・(C)プログラム側の文字コード
の組み合わせがうまくいっていないことが多い。


"EC-CUBE"の場合は現在公開されている"1.4系"は"EUC-JP"、"2.0系"は"UTF-8"となっている。


ホスティングサーバを利用する時には既にDBのインストールは終わっているので、"phpPgAdmin"や"phpMyAdmin"といったブラウザ上でDB操作できるツールを利用して各DBを作成することが多い。

まずここで文字化けの原因が一つある。
DBの文字コードを"UTF-8"にして、"EUC-JP"で動作する"1.4系"を利用する文字コードが違うので文字化けを発生する。

ここはDB作成時も"EUC-JP"にすれば問題ない。


しかし、これでも文字化けは発生することがある。


それはDBインストール時に設定する文字コードの影響が大きい。

いくらDB作成時とプログラムを"EUC-JP"にしたところで、DBの根本が"UTF-8"や他の文字コードでは文字化けを起こしてしまう。


では、DBを再インストールして文字コードを変えるのかというと、ホスティングの場合は難しい。

しかも、MySQLをrpmでインストールするとデフォルトで"Latin1"になることが多い。

それを設定ファイルで"EUC-JP"や"UTF-8"にしている場合がある。

下の内容はサーバ権限のあるサーバでMySQLの文字コードを確認した結果だ。
文字コードは"Latin1"になっている。

 DB設定


そうなるとDB作成時にも"Latin1"としてやるほうが好ましい。

 DB作成


まだこれは一例だが、文字化けの原因にはさまざまなパターンがあるので随時作業内容をメモをして確認できるようにし、できれば開発環境も用意して試験できれば最適だ。

設定テーマ

注目テーマ 一覧

月別リンク

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文