4

HTML では<input>:

name英字で属性を設定するのは義務ですか?

後で使いたいです$_POST['some_utf8_characters_and_not_english_characters']

後で問題を引き起こす可能性はありますか?

4

2 に答える 2

4

RFC1866 の 3.2.4 章によると、属性の値は値の区切り記号 (一重引用符または二重引用符) 以外であれば何でもかまいません。また、HTML タグの区切り記号 (< および >) を含めることはできません。

ただし、参照を使用して DOM 要素にアクセスしようとすると、JavaScript がすべてのブラウザーでどのように動作するかをテストする必要があります (親友の MSIE を思い出してください...) name。例:document.anElementWithPersianNameまたはdocument.forms['aFormWithAPersianName']. したがって、JS を使用してフォームを検証したり、ajax を使用してフォームを送信したりする場合は、JS がこの文字セットを適切に処理できることを確認する必要があります。

いずれにせよ、次のことを確認する必要があります。

  1. PHPスクリプトは、文字列操作に関する場合、UTF-8ベースの関数を使用します(一部の関数では、引数として文字セットを渡す必要があると思います)
  2. これらのスクリプト自体は UTF-8 ファイルで保存されます
  3. HTML ヘッダーや PHP の応答ヘッダーで文字セットを正しく設定している

最善の方法: 簡単なフォームを作成し、それに JS トリックを実行し、送信された結果を PHP スクリプトで解析して出力します。

于 2012-06-14T14:45:53.663 に答える
0

これは私のウェブサイトの1つで正常に機能しています。問題はありません。

<input name="UTF_word" />

$_POST['UTF_word']

どちらも、jquery(IEでチェックされていない)やサーバー側など、クライアント側で問題を引き起こすことはありません。

于 2012-06-14T14:52:56.853 に答える