DOM

Document.characterSet プロパティ

 編集:2022.08.31 by T.A.

[Edge]読取専用。→

Document の文字エンコーディングを表す文字列を返します。(文字エンコーディングは文字セットであり、入力されたバイト列をどのように文字として解釈するか規定します。)

「文字セット」と「文字エンコーディング」は似ていますが違うものです。プロパティ名に反してエンコーディングを返します。

ユーザーは、Content-Type ヘッダーの中や <meta charset="utf-8"> などのインラインで開発者が指定した文字エンコーディングを上書きできます。例えば Firefox では 表示 → テキスト エンコーディング メニューから可能です。このような上書き手段は開発者が誤って指定したエンコーディングによって文字化けを引き起こされたときに直すために提供されています。

プロパティ document.charset および document.inputEncoding は、document.characterSet への古いエイリアスです。これらは使用しないでください。

構文
Document.characterSet
Document Document

String。文書の文字エンコーディングを表す文字列。

HTML:

<button onclick="console.log(document.characterSet);">
  Log character encoding
</button>
<!-- "ISO-8859-1" や "UTF-8" など、文書の文字セットが開発者コンソールに表示されます -->

HTML:

<!DOCTYPE HTML>
<HTML lang="ja">
<HEAD>
<META charset="shift_jis">
<META http-equiv="default-style" content="text/css">
<TITLE>テスト</TITLE>
</HEAD>

<BODY>

<SCRIPT>
alert(document.characterSet)
</SCRIPT>

</BODY>
</HTML>

は、「UTF-8」と表示された。

HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML lang="ja">
<HEAD>
<META charset="shift_jis">
<META http-equiv="default-style" content="text/css">
<TITLE>テスト</TITLE>
</HEAD>

<BODY>

<SCRIPT>
alert(document.characterSet)
</SCRIPT>

</BODY>
</HTML>

でも、「UTF-8」と表示された。

HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<META http-equiv="content-language" content="ja">
<META http-equiv="content-type" content="text/html; charset=SHIFT_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<META http-equiv="Content-Script-Type" content="text/javascript">
<TITLE>テスト</TITLE>
</HEAD>

<BODY>

<SCRIPT>
alert(document.characterSet)
</SCRIPT>

</BODY>
</HTML>

でも、「UTF-8」と表示された。

shift_jisで記述した文書→Test_document_characterSet.htm

これでは「Shift_JIS」と表示はされるが、最初のalert()文が実行されてない?。

HTML4文書でも document.characterSet は動いている。


テスト