カテゴリ | |
---|---|
サマリ | 日本語のページに添付しようとするとそのページにうまく添付されない |
バージョン | 1.3.5 |
投稿者 | yodn |
状態 | 完了 |
投稿日 | 2003-09-17 (WED) 14:08:52 |
こんにちは。ちょっと困ったので、 ご存知の方はお力をお貸しください。 VineLinux2.6およびPHP4.2.3を用いて使っております。
標準のスキンで「添付」を使って(attachプラグイン)ファイルをアップロードするのですが、日本語のページにアップロードするときにうまくいかなくなってしまいました。
症状としましては、アルファベットのページ(例:hogehoge)に関してはちゃんとアップロードできます。
日本語のページへのアップロードがちょっと駄目になってしまったようです。
たとえば「ほげほげ」というページがあったとして、
そこで「添付」を行うと「ほげほげ への添付」とここまではいいのですが、
いざアップロードを実行してみると「 にアップロードしました。」とでてしまいます(正常だと「ほげほげ にアップロードしました。」)。
本来アップロードを終えると「ほげほげ」のページに戻るはずですが、 うまく戻りません。
どうも「ほげほげ」という日本語自体をエンコードするときに正しくエンコードできてないようです。
どなたか対処法などご存知でしたらご教授お願いします。PHPがわかればいじってみるというのも確かにありなんですが。
1ヶ月ほど日本語のページに添付する機会が無かったのですが、それまではできてました。
その後に変更したところを調査中ですが、
php_4.2.3-0v11_i386.rpmから
php_4.2.3-0v15_i386.rpm
くらいな気がしています。
一応これから調べてみます。
VineLinuxというのに疎いのですが、一般的な話では、mbstring関係のインストールや設定に問題がありそうな気がします。その辺りを確認してみてはいかがでしょうか?ご参考→「PukiWiki/Install/RedHat」
phpのバージョン変更で問題があったとするとphp本体(または各種モジュール)かその設定に問題が生じたのかと思ってたので時間が取れ次第ちょっと設定周りをいじってみることにします。情報ありがとうございました。
vinelinux 2.6r1(php-4.2.3-0vl5) で運用していますが再現していません。php-4.2.3なのでmbstringは標準で入ってます。1.3.5 1.4両方ともmozilla,Firebird(linux)からは問題なくUpload出来ています。ダウンロード時には、attachに渡るパラメータはあっていますが、文字化けなどします。ブラウザ依存およびattachの問題かもしれません。ブラウザは何をお使いですか?
Windows日本語版Opera7.11です。IE6.0でも試してみましたが、アップロード後に「XXにアップロードしました」というメッセージの真下にでるアドレス?はOperaと一緒でした(まだ2つのブラウザでですがブラウザ依存の可能性は低い?)。アップロードはちゃんとしています。ただ日本語だとアップロードした場所がおかしいということです(説明不足でした)。添付から添付一覧が見えますが(そこでは該当ファイルは文字化け等できたところに属しています)、そこから該当ファイルを消そうとすると「ほげほげ(正しいページ)にそのファイルは見つかりません」と出てきます。一度、テスト的にPukiWikiを同バージョンで新しく入れなおしてみます。
こちらのサーバでは、IE5.5,Opera6.1,Mozilla1.3(すべて MS Windows) からのアップロードは問題無しでした。ダウンロード時に Opera と Mozillaは文字化けしました。
うーん、そうですかぁ。別ディレクトリに一から組んでみましたが、やはり同様の症状でした。でも同じ環境化でできてますし、1ヶ月前には私もできてましたし。うーん、もうちょっといろいろやってみようと思います。
実際のをみたほうがいいとおもうのでこんな感じです
ほげほげ
./?%5B%5B%A4%DB%A4%B2%A4%DB%A4%B2%5D%5D
ほげほげで「添付」アップロード後のページ
./?%5B%5B%82%D9%82%B0%82%D9%82%B0%5D%5D
アルファベットのページだと前後のアドレス?は一致するはずですが、見事にしていないという症状が出ています。
このコードを変換してみたら、同じ ほげほげ であっても、
./?%5B%5B%A4%DB%A4%B2%A4%DB%A4%B2%5D%5D | EUC |
./?%5B%5B%82%D9%82%B0%82%D9%82%B0%5D%5D | SJIS |
そうでした。そこをチェックすればよかったんですね。
あまりの不甲斐ない質問をしてしまい申し訳ありませんm(__)m。
結局問題は解決しました。
原因はご指摘のとおり
mbstring.http_output = EUC-JPがSJISのままでした(コメントアウトしたつもりがEUC-JPがコメントアウトに)