- PR -

HTMLFormの入力で文字コードはどうやって指定すればいい?

投稿者投稿内容
前川
常連さん
会議室デビュー日: 2004/04/27
投稿数: 38
お住まい・勤務地: 1DK
投稿日時: 2004-05-31 18:34
引用:
JWさんの書き込み (2004-05-28 18:24) より:
仕様の「ユーザエージェントは、この値を、当該FORM要素を含む文書の伝送に使われた文字符号化方法であるものとしてインタープリトしてよい。 」
と言うのは、ページ自体がShift_JISなのに、「accept-charset="EUC-JP"」が有ったらページ自体がEUC-JPで有ったかのように扱ってもいい。
つまり、ページのエンコードかUTF-8か選ぶ際にページのエンコードを選んだとして、そのエンコードは本当はSJISなのにEUCと解釈して form で送る内容をEUCにしてもよい、と言うことですね。

JWさんが削られた部分を含めて引用すると
引用:
この属性のデフォルト値は予約文字列「UNKNOWN」(不明)である。ユーザエージェントは、この値を、当該FORM要素を含む文書の伝送に使われた文字符号化方法であるものとしてインタープリトしてよい。

です。

これで1パラグラフなので、私なら
引用:
この属性のデフォルト値は予約文字列「UNKNOWN」(不明)である。この属性の値がUNKNOWNの場合は、ユーザエージェントは、accept-charsetを、当該FORM要素を含む文書の伝送に使われた文字符号化方法であるものとしてインタープリトしてよい。

と解釈します。

「指定があった場合それに従わなければならない」という記述はありませんが、それはmethodやactionのようなクリティカルな属性でも同様なので、「UA次第」とする根拠には弱いと思います。
JW(自宅)
会議室デビュー日: 2001/11/29
投稿数: 1
投稿日時: 2004-06-01 09:30
都合により自宅なのでIDが違います。

引用:

前川さんの書き込み (2004-05-31 18:34) より:

これで1パラグラフなので、私なら
引用:
この属性のデフォルト値は予約文字列「UNKNOWN」(不明)である。この属性の値がUNKNOWNの場合は、ユーザエージェントは、accept-charsetを、当該FORM要素を含む文書の伝送に使われた文字符号化方法であるものとしてインタープリトしてよい。

と解釈します。



どうも仕様を読み違えていたようです。
「この値」は、私の解釈では「accept-charasetの値」と読んでいたわけです。

「デフォルト値は"UNKNOWN"ではあるが、デフォルト値の場合は代わりに[accept-charaset="文章の文字符号化方式"]として実装してもいい」
と言うことですね。
理解できました。ご指摘ありがとうございます。

引用:

「指定があった場合それに従わなければならない」という記述はありませんが、それはmethodやactionのようなクリティカルな属性でも同様なので、「UA次第」とする根拠には弱いと思います。


ただ、「ユーザエージェントは」〜「してよい」と言う仕様なので、UAによってはどうなるかわからないと解釈しています。
指定があった場合の動作を実装していないUAがあれば、以前に紹介されたページの記載
引用:
W3C の勧告を守っているのはネスケの方で IE のいい加減さには少々腹が立ってきます。

と言う感覚も理解できるのですが、この場合は腹を立てるほどのものでもないだろう、と言う趣旨なのでそのところは(この仕様を読み違えていても)影響しないでしょう。

[追記]
この発言を読んで「IEがいい加減ではないと主張しているのか?」とか思わないでください。そういう趣旨の発言でもありません。勘違いする人はあまりいないと思いますが念のため。

[ メッセージ編集済み 編集者: JW(自宅) 編集日時 2004-06-01 09:35 ]

スキルアップ/キャリアアップ(JOB@IT)