みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

締切り済みの質問

PHPがローカルだと正常なのに、アップすると一部だけ表示されない

PHP初心者です。
ローカルにApache、PHP5をインストールしています。
使用環境はWinXP、PHPエディタを使用して、EUC-JPでコーディングしています。
レンタルサーバは、XREAです。

掲示板のような物を作成してみました。
パスワードで管理画面に入り、新規投稿、更新、削除が可能なものです。
投稿内容は年、月、日、URL、タイトル、内容の6項目のみです。
この6項目は、formからPOSTで送信し、カンマ区切りでdatファイルに1行ずつ書き込んでいます。
このdatファイルを1行ずつ読み込み、カンマ区切りごとに配列に格納し、投稿内容一覧画面に出力しています。
ローカルでは問題なく動作するのですが、XREAのサーバにアップするとおかしくなります。
エラーは起こりませんが、件名に全角を入力した場合に出力されない(配列変数内容を出力しても表示されませんでした)
内容に全角で複数行入力した際に1行目のみ出力されない。1ぎょうのみ入力した際は、表示されない。
いずれも、全角の場合のみで、半角を入力すると問題なく出力される。
ちなみに、datファイルを確認するときちんと書き込みされています。
また、うまく出力されていない投稿内容の更新画面に移ると、textareaに配列変数の内容がきちんと出力されます。

なぜ、全角の場合のみ1行目だけが出力されないのでしょうか?
他のレンタルサーバでは、うまく動き、違う点はphp.iniの設定が可能で、ローカルの環境のiniをそのまま反映させていることです。
XREAでは、php.iniの設定が出来ないようでこの辺りが関係しているのでしょうか?それともパーミッションなどでしょうか?
現在は、PHPのパーミッションを755に、datファイルの757にしています。

よろしくお願い致します。

投稿日時 - 2006-06-22 00:41:59

QNo.2230475

すぐに回答ほしいです

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

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

回答(1)

ANo.1

半角文字なら正常ということはエンコーディングの問題でしょうか。
mbstring関連の設定を明記すれば回答が得られるかと。

detect_order
encoding_translation
http_input
internal_encoding
http_output

また、PHPコード内でini_set等していますか?
input系の設定はPHPコードでは効きませんので。

投稿日時 - 2006-06-22 04:00:17

補足

mbstring関連は、あまり周知していなくて。
ソース内では特に設定はしていません。
反対に出力するHTMLのページを
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"/>にしています。
XREAのphp.iniがどこにあるのかわからないのですが、phpinfo()などで見ることが可能なのでしょうか?
可能だとすれば、root/に置いてやれば、見ることが出来ますか?

投稿日時 - 2006-06-22 13:04:30

あなたにオススメの質問