* _charset_ hack [1] [[IE]] には [CODE(HTML)[<[CODE(HTMLe)[[[input]]]] [CODE(HTMLa)[[[type]]]]="[[hidden]]" [CODE(HTMLa)[[[name]]]]="_charset_"/>]] を [CODE(HTMLe)[[[form]]]] 要素中に潜ませておくと [CODE(ABNF)[[[query]]]] や [CODE(MIME)[[[application/x-www-form-urlencoded]]]] に [CODE(URI)[_charset_=[VAR[charset 名]]]] を入れてくれるという機能があります。 ([[WinIE5]]+) [2] ''Bug 18643 - add support for _charset_ field in form submissions [form sub]'' : [[Mozilla]] でも実装しようかどうしようか、という話題。 実装されたみたいです。 [3] この hack、 [[WinIE3]] とかの古いブラウザは黙って [SAMP(URI)[_charset_=&other-param=value]] にしてくれるから安心・・・と思いきや、 [[NC]] 4.01 で試してみたらなぜか [SAMP(URI)[_charset_=++&other-param=value]] になりました。 [WEAK[[CODE(HTMLa)[value]] なしの [CODE(HTML)[hidden]] form control はどんな [CODE(HTMLa)[name]] でもこうなります。]] HTML の仕様上、この文脈で [CODE(HTMLa)[value]] は本来必須なのですから、それが欠けている場合にどうなろうと実装依存なのでしょうけど、 なんでわざわざ [SAMP(URI)[++]] なんかを補うのか謎です。不具合でしょうかねぇ。 ・・・という、未対応 UA の挙動が確定しないという問題がありますから、 _charset_ hack の信頼は避けた方が無難です。 例えば、鯖内で動くスクリプトの文字コード変換ルーチンを通す時には、 あらかじめ _charset_ 値を確認して、 明らかに異常な場合は捨てないと、 誤動作する虞があるでしょう。 [4] [CITE@en-GB-x-Hixie[Web Forms 2.0]] ([TIME[2009-01-05 20:07:15 +09:00]] 版) [5] HTML5 に入ります [6] [CITE@en[HTML5 Revision Tracker]] ([TIME[2010-04-06 23:31:19 +09:00]] 版)