#author("2017-10-24T23:25:22+09:00","","")
#author("2017-10-24T23:28:43+09:00","","")
*「娘娘」というエントリが編集不可。 [#v2868dc9]

-ページ: [[BugTrack]]
-投稿者: [[GLM]]
-優先順位: 低
-状態: 却下
-カテゴリー: その他
-投稿日: 2003-10-10 (金) 08:58:28
-バージョン: 1.4rc4

**メッセージ [#ne644b5d]
「娘娘」というエントリを作成し、編集しようとすると「??の編集」となります。
----
-うーん 再現しませんねぇ。[[merlin:娘娘]] 環境はなんでしょうか? -- [[merlin]] &new{2003-10-10 (金) 10:25:50};
-[[official:mbstring]] と同じ EUC-JP の運用だという前提で。~
mbstringの設定とPHPのバージョンに依存して発生します。
encoding_translation を有効にすると入力文字列は http_input に従って検出/変換されますが、短い文字列の場合に誤動作する場合があります。これは[[BugTrack/296]]で述べられているとおりです。~
ただ、PHP4.2.2 では問題無く 4.3.3 では報告の症状になりました(何れも Windows Host 上で確認)。旧 ver では入力変換部が期待通りに動作していなかったのかもしれません。~
現状 POST メソッドの動作に関しては対策されていますが、newpage.inc.php では location ヘッダを出力しているので encode_hint がありません。このケースでは
 cmd=read&page=%CC%BC%CC%BC%refer=...
というクエリになり、refer がシングルバイト文字の場合 $_GET['page'] の内容が正しく受け取れていません((PHP-users に[[同様の話題:http://ns1.php.gr.jp/pipermail/php-users/2003-August/017661.html]]がありました。))。~
対処としては、
+mbstring.encode_translation = Off にする
+location ヘッダ出力にヒント(第二バイトが \xfd|\xfe の文字)を付加する
 newpage.inc.php:46
 -header("Location: $script?cmd=read&page=$r_page&refer=$r_refer");
 +$hint = rawurlencode('棄');
 +header("Location: $script?cmd=read&page=$r_page&refer=$r_refer&hint=$hint");
の何れかではないでしょうか。-- [[とおが]] &new{2003-12-17 (水) 22:52:39};
- PHP4の特定のバージョン、EUC-JP設定の場合に発生の可能性があるというということですね。UTF-8設定の最近の環境では発生しにくいと考えられるので Status:却下 とします。同じ問題に遭遇した人がいらっしゃいましたらReopenしてください -- [[umorigu]] &new{2017-10-24 (火) 23:28:43};


#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.071 sec.

OSDN