2009-04-09 12 views
2

ブラウザのエンコーディングがJavascriptの「UTF-8」に設定されているかどうかを確認する方法はありますか?私は(ユーザーを求めることなく、すなわち)透過的に設定するブラウザに基づいて、「UTF-8」または「英語」の文字を送りたいブラウザサポートUTF-8文字を正しく確認するにはどうすればよいですか?

編集:申し訳ありませんが、私は疑問に非常に明確ではありませんでした。ブラウザでは、エンコードは通常Auto-Detect (or) Western (Windows/ISO-9959-1) (or) Unicode (UTF-8)と指定されています。ユーザーがデフォルトをWesternに設定している場合、送信する文字は読み込みできません。このような状況では、エンコーディングを"Auto Detect" (or) "UTF-8"に設定するようユーザーに通知する必要があります。

答えて

1

まず、UTF-8はUnicode文字セットのエンコーディングです。英語は言語です。私はあなたが英語の代わりに 'ASCII'(文字セットとそのエンコーディング)を意味すると仮定します。

第2に、ASCIIとUTF-8が重なります。 UTF-8として送信された場合、どのASCII文字もまったく同じビットとして送信されます。現代のブラウザはすべてUTF-8をサポートしていると確信していますが、おそらくlatin1またはcp1252(どちらもASCIIをオーバーラップしている)として扱われるので、まだ動作します。

つまり、私はそれについて心配しません。

ドキュメントをHTTPヘッダーまたはメタタグのいずれかにUTF-8として正しくマークするようにしてください。

+1

実際、UTF-8はエンコーディングです。 Unicode文字セット全体を処理できるいくつかのエンコーディング(UTF-16とUTF-32を含む)の1つです。ほとんどの文字セット/エンコーディング名(ASCIIやcp1252など)は、エンコードできる文字とそのエンコード方法の両方を表します。 –

+0

@Alan M:あなたは間違いありません。私はこれを解決します。 – derobert

0

出力の長さ(出力後に読み返したもの)は、何が起こったのかを伝えることができます(または、JavaScriptなしで、Accept-Charset HTTPヘッダーを使用し、UTF-受け入れられる)。

しかし、現在のブラウザのUTF-8機能を心配するのではなく、正しいUTF-8ヘッダーなど、アクセシビリティの代替シナリオを送信することを心配してください。

関連する問題