• 締切
  • 困ってます

PHP+MySQL 4.1.20における文字化け

  • 質問No.3422939
  • 閲覧数131
  • ありがとう数3
  • 回答数3

お礼率 100% (55/55)

お世話になります。
現在、学内に実験的に設置されているサーバーを使って、そこに
「phpMyFAQ(Ver.2.0.3)」を入れて動かそうと試みています。

phpMyFAQのインストールは済んだのですが、いざ使ってみようと思って
カテゴリ追加等をしようとすると、日本語が文字化けして「???????」と
いうような状態になります。

きっと文字コードの設定に問題があり、php.iniやmy.cnf等の設定を変える
必要があるのでしょうが、サーバーは共用利用しているものであり、他の
利用者へ影響が出てしまうため、変更が困難です。
また、私自身がまだphpやMySQLに詳しくないため、どこを改善すればよい
のかがわからずに困っております。(.htaccessをつくっていろいろと記述
してみたりしたのですが、文字化けは解消されていません。)

もし何かアドバイス等ありましたらご教示いただけませんでしょうか。
よろしくお願いいたします。

MySQLのバージョン:4.1.20
PHPのバージョン :4.3.9

<MySQL>
character_set_client ujis
character_set_connection ujis
character_set_database ujis
character_set_results ujis
character_set_server ujis
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/

[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;

回答 (全3件)

  • 回答No.3

ベストアンサー率 33% (1/3)

#1です。
むしろ、私のほうが知識がなく、恥ずかしいことを言っているかもしれませんが…。
MySQL側で「SET NAMES」クエリを使うとか、
mb_convert_encoding関数を使ったスクリプトを間に入れる、
ということはできないのですか。

まったくはずしていたらすみません。
お礼コメント
sheltie

お礼率 100% (55/55)

>MySQL側で「SET NAMES」クエリを使うとか、
>mb_convert_encoding関数を使ったスクリプトを間に入れる
検索で調べてみると上記の方法がいろいろと出ていますが、
実際に手を入れるとなるといろいろなところに手をいれないと
ならないようです。
my.cnfを調整できれば一番楽なようですが・・・

度々のアドバイス、ありがとうございます。
投稿日時:2007/10/26 00:31
  • 回答No.2

ベストアンサー率 33% (1/3)

>生成されたページのソースを見てみると、文字コードは
>『charset=UTF-8』となっていました。

少なくともMySQLがujis(日本語EUC)で処理されているようです。
これに対して、INSERTするデータがUTF-8になっているのではないでしょうか。
私はphpMyFAQのことはまったくわからないのですが、
もし文字コードが一致していない場合、phpMyFAQの設定を変更するか、あるいは文字コードを変換する仕組みを作ることで、一致させればよいと思います。

はずしているかもしれません。
お礼コメント
sheltie

お礼率 100% (55/55)

その後いろいろと検索で調べてみたのですが、phpMyFAQのほうは
やはりUTF-8でMySQLを運用することが必要みたいです。
.htaccessでmbstringの値を設定し直したりしてみたのですが、
相変わらず文字化けは解消できていません。

おそらくご指摘の通り文字コードを変換する仕組みを作らないと
いけないかもしれません。
投稿日時:2007/10/19 22:12
  • 回答No.1

ベストアンサー率 33% (1/3)

全然はずしていたら申し訳ありません。
ひょっとして、シフトJISで入力(Windowsのメモ帳とかコマンドプロンプト)している、ということはありませんか?
お礼コメント
sheltie

お礼率 100% (55/55)

> ひょっとして、シフトJISで入力(Windowsのメモ帳とかコマンドプロンプト)している、ということはありませんか?

すみません・・・私の理解不足でご質問の意味がよくわからなかったのですが、
プログラム(phpMyFAQ)上の入力フォームからデータを登録しようとしていますが、
生成されたページのソースを見てみると、文字コードは『charset=UTF-8』と
なっていました。
この部分がネックとなっているのでしょうか。
投稿日時:2007/10/14 23:13
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ