こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

お世話になります。
現在、学内に実験的に設置されているサーバーを使って、そこに
「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;

投稿日時 - 2007-10-12 15:13:09

QNo.3422939

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

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

まったくはずしていたらすみません。

投稿日時 - 2007-10-20 02:11:55

お礼

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

度々のアドバイス、ありがとうございます。

投稿日時 - 2007-10-26 00:31:31

ANo.2

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

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

はずしているかもしれません。

投稿日時 - 2007-10-15 00:01:45

お礼

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

おそらくご指摘の通り文字コードを変換する仕組みを作らないと
いけないかもしれません。

投稿日時 - 2007-10-19 22:12:40

ANo.1

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

投稿日時 - 2007-10-14 10:44:07

お礼

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

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

投稿日時 - 2007-10-14 23:13:09

あなたにオススメの質問