カテゴリ | |
---|---|
サマリ | paintプラグインで全角文字(日本語)の扱い |
バージョン | 1.4.2 |
投稿者 | gonta |
状態 | 完了 |
投稿日 | 2004-03-14 (SUN) 23:43:01 |
paintプラグインを使っていて、ファイル名・名前・コメントの入力フィールドに全角文字を使って送信したとき、文字化けを起こします。
また、それが原因かどうかわかりませんが、リロードすると画像のリンクが切れて表示されません。
さらに、送信した画像ファイルの添付を削除しようとしたら、そのようなファイルはありませんといわれます。
半角英数のときは問題なく動作します。
何故なんでしょうか?
ちなみに、paintプラグインでの送信以外の、普通の編集作業や、ファイルの添付では問題なく全角文字を使うことができています。
BSPaiter.jarはShift_JISなので、ファイル名に全角文字を使用すると文字化けするでしょう。
メッセージや名前はpaint.inc.phpの228行目前後で下記のようにコンバートされています。
$msg = mb_convert_encoding($msg,SOURCE_ENCODING,'auto'); $name = mb_convert_encoding($name,SOURCE_ENCODING,'auto');
ただし、encode_hintが設定されていないので、これらについても、文字化けする可能性があります。
reimyさん、返信有難うございます。
私の環境のpaint.inc.phpの該当箇所は
$msg = mb_convert_encoding(rtrim($vars['msg']),SOURCE_ENCODING,'auto'); $name = mb_convert_encoding($vars['yourname'],SOURCE_ENCODING,'auto');
となっておりました。文字コードの変換がまずいということならばSOURCE_ENCODINGや'auto'を修正すればいいと思い、いろいろ試しましたが、うまくいきませんでした。その過程で気がついたのですが、上記のままでもカタカナだけはきちんと通るようです。
あと、encode.hintの設定とかありますが、調べてみてもどう行うべきなのかわかりませんでした。ほかにヒントがあるようならば教えていただけるとありがたいです。
PukiWiki/Install/xrea.com/CGIを参考にxrea.comのs55サーバにおいてみたところ、paintプラグインの上記の問題は起こりませんでした。 サーバの環境に依存した問題ということでしょうか?
mbstringのページも参照してみてください。
また、encode関係で一部のバグが修正されていますので、cvs:init.phpを最新にしてみてください。dev:BugTrack/555・dev:BugTrack/536参照。
phpinfo()で確認したところ、mbstringは入っていませんでした。 init.phpを更新しても同じ問題が起こるので、このことが原因だと思うのですが、ISPのサービスのレンタルcgiサーバなのでリビルド出来ません。ここで動かすのは諦めるしかないようです。広告が気になるけどしばらくxreaで楽しみます。有難うございました。