Proxomitron補助串 Edit

*ただの妄想なので、作れるかどうかは別

Unicode等をShift_JISに変換 Edit

Unicodeにマッチさせるには、a[%00]b[%00] の様に書けば問題無いが、面倒なので、
PHPか何かでUnicode→SJIS変換Proxyを作り、以下の様に噛ませればよいのではないか?
  ブラウザ → オミトロン → コード変換串 → ネット
  ブラウザ ← オミトロン ← コード変換串 ← ネット

文字コードの判断は、mb_detect_encodingで。(HTTPヘッダ、メタタグは嘘をついてる可能性があるので)
文字コードの変換は、mb_convert_encodingで。(規格外文字は&#\d+;に)

全部読み込んでから変換だと遅いので、255Byte位毎とか、その都度変換、送信。
ただ、多バイト文字の途中で切れた場合、その文字が破棄されてしまったりするようなので、
最後が多バイト文字の可能性がある場合、そこを削って一時変数に保存して、その変数に次の255Byteとかを追加…で行ける?

POST、GETのエンコードはそのページのエンコードに合わせるのが普通らしいので、そこをどうやってクリアすればよいのか…
  ブラウザ → オミトロン → コード変換串 → ネット
  ブラウザ ← オミトロン ← コード変換串(SJISに変換) ← ネット(UTF-8)
  ブラウザ(SJISのページなので、SJISでPOST|GET) → オミトロン → コード変換串(ここで元のページのエンコードに変換する必要がある) → ネット
無理矢理だが、<form>の直後に<input type="hidden" name="何とかかんとか" value="元々のエンコード">を埋め込んで、そのエンコードに変換し、その部分は削除すればいけそう。(nameは被らない様に考えないといけないが)
(JavaScript等で<form>が書かれている場合は無理)

Content-Type: と、メタタグの charset もShift_JISに書き換える必要がある。


複製名前変更