日本PHPユーザ会 掲示板

日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。

日本PHPユーザ会 掲示板 » PHP事はじめ » mysql5とphp5の連携について

mysql5とphp5の連携について

ページ: 1

投稿者 投稿
会員
登録者: 12 2010
返信数: 2
PHP関連の本をいくつか読んではいますが、自分でコードを書くのは初めてです。
基本的なこととは思いながらも、以下の件で年末の数日をついやしました。
悩める初心者の素朴な疑問ですのでお答え願えればありがたいです。

1)mysql5の文字コードは、sjisに設定してあります。これは、MSACESSとの連携を考慮しました。
2)phpファイルのソースコードは、当初EUC-jpで保存しておりました。php.iniのinternal_encodingもEUC-jpとしていました。

以上の設定で、クエリを実行しましたら、文字化けになってしまいました。

ところが、2)のphpファイルのソースコードとphp.iniの設定をsjisにしましたら、問題なく出力されました。

このフォーラムの中で、データベースの文字コードに合わせるとよいとありましたが、

ア)phpファイルは、sjisのままで問題ないですか?EUC-jpがいいと解説書には書いてあったのですが。
イ)EUC-jpのphpファイルのまま、うまくsjis設定のデータベースとの連携をする方法はありませんか。

sjisでもいいならこのままプログラムを続けるのですが、あとでEUC-jpの方がよかったとなると大変かなと思いまして。
« 最終編集者 fiddler05 日時 2010 年 12 月 31 日(金) 21:59. »
会員
登録者: 8 2009
返信数: 103
こんばんは。
最近の傾向ではutf-8が多いようですよ。

ア)
sjisは問題が起きやすいとよくききます。
0x5c問題など。

イ)
データベース入出力前後にmb_convert_encoding()などで文字コードを変換するとうまくいくかもしれません。
会員
登録者: 12 2010
返信数: 2
nulla 様

お返事ありがとうございました。
ア)について
やはり問題があるのですね。実は、sjisでDBを作り、MSACESSでアクセスすると「能」が文字化けせずに表示されるのでこれは!と思いそれ以来sjisでDBを作っているのですが。

イ)実は、mb_convert_encoding()をレファレンスで見つけてクエリの送信直前に書いて試してみたのですが、うまくいきませんでした。でも、うまくいかない原因が何か別にあるのでしょう。

実は、私のMysqlには、CMSのひとつであるJoomulaのDBもあるのですが、そちらは、iniファイルをどんなにいじっても正しく表示されるので不思議なのです。きっと対策がしっかりしているのでしょう。今から、ちょっと調べてみます。

こんな大晦日から年明けにかけてお答えいただきありがとうございしました。
他の意見も聞きたいのでもう少し店は開いておきます。 :) :) :) :P
会員
登録者: 8 2009
返信数: 103
JoomulaのDBの件はSET NAMESかmysql_set_charset()辺りを使っているのかもしれませんね。
MySQLの文字化けで悩んだのはさくらのレンタルサーバぐらいしかないです。

ページ: 1

日本PHPユーザ会 掲示板 » PHP事はじめ » mysql5とphp5の連携について

日本PHPユーザ会 掲示板 は UseBB 1 フォーラムソフトウェア を使用しています