人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

「OpenPNE」というフリーのSNSを利用しようとしています(PHP+MySQL)。
http://www.openpne.jp/

SQL文でMySQLにデータを投入すると、日本語が文字化けし困っています。
UTF-8のデータを投入しているはずなのですが、
DB上ではEUCになってしまっているようなのです。

#MySQL4.1.20は日本語処理に癖があるということなので、
これが原因かもしれません。。
別サーバ(MySQL 4.0.26)で、試してみたところ、問題はありませんでした。
#OpenPNEはUTF-8前提のシステムなので、DBをEUCで運用するのは難しいです。

対応策をご教授いただけると幸いです。

・・・・・・・・・・・・・・・・

具体的には、以下のセットアップガイドを見ながら、作業をしています。
http://tejimaya.org/openpne/docs/2_2/OpenPNE_Setup.html

4. OpenPNE用データベースの作成

(1)まずデータベースをUTF8で作成
CREATE DATABASE `DBNAME` DEFAULT CHARACTER SET utf8 ;

(2)SQL文を流してデータ投入
$ mysql -u username -p --default-character-set=utf8 DBNAME < install_2_2_create_tables.sql
$ mysql -u username -p --default-character-set=utf8 DBNAME < install_2_2_insert_data.sql


●質問者: tomohirohayashi
●カテゴリ:インターネット ウェブ制作
✍キーワード:dB EUC MySQL OpenPNE PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●20ポイント

セットアップガイドでは MySQL4.1 も考慮されていますし、手順も問題ないように思います。

具体的な対策でなくて申し訳ないですが、ユーザー会の方で注意点を纏められていますので、ご参考にしてください。

http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_40


2 ● saphil
●50ポイント ベストアンサー

PHPの設定と思います。

mbstring.internal_encoding

が、UTF-8以外になっていると同じような現象が起きます。

php.ini の設定がどうなっているか分からないので、

正確な解決策をお伝えできませんが、

以下の方法を行なってみてください。


1.php.ini の設定を変えてみる

mbstring.internal_encoding UTF-8

(書き換え後Apacheの再起動が必要です)

php.iniの設定変更が難しければ、


2.データベースをUTF8ではなくて他のコードで作成

mbstring.internal_encoding は、EUC-JP

になっているケースが多いと思うので、それに

あわせてEUC-JPで作成するとうまくいくと思います。

CREATE DATABASE `DBNAME` DEFAULT CHARACTER SET EUC-JP ;


試してみてください。

◎質問者からの返答

1.php.iniの設定変更で解決しました。ありがとうございました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ