2012-02-02 13 views
1

私はこれについていくつかの類似の質問を読んでいますが、私が探していたものは見つかりませんでした。私はフォームの中のテキスト入力が何であってもユニコードであることを保証する最も簡単な方法は何かを考えています。私はこれを行うための最善の方法私に見えるフロントエンドのjavascriptのdjangoと多くを使用しています。私は自分自身でこれを行うことができましたが、私がそれを行う計画は、可能な限り最良の方法ではないことに恐れています。フォームへのテキスト入力がユニコードかどうか確認してください。

+0

は、単にその場でUnicodeにすべての入力を変換するのに十分なことはありますか?あるいは、必要なエラーを発生させていますか? – LesterDove

+2

* *それはユニコードことができたが、他に何が?あるいは、* encoding *を意味しますか?エンコードはページのエンコーディング以外の何かになることを疑う理由はありますか? –

答えて

2

Webブラウザーフォームのフィールドの内容は、ネイティブでUnicodeです。あなたがUnicodeではないフォームに置くことはできません。

制御文字、明示的な非文字、Unicode/W3で示された文字が「マークアップでの使用に不適切」または代理の無効な使用をしていないことを確認するためにいくつかの点検があります。それらはサーバー側で行う必要のあるチェックです。とにかくサーバ側で妥当性検査を行う必要があります。クライアント側でこれらの問題をチェックする利点はありませんし、一般的なユーザーが偶然に入力することはできません。フォームのために提出されたバイトストリームは、適切な方法でUnicode文字列に変換されていることを確認し、サーバー側については

、それはあなたの枠組み次第だろう。例えば、DjangoはDEFAULT_CHARSET(通常はUTF-8)でそれを行います。