document.characterSet

概要

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

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

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

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

構文

var string = document.characterSet

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

仕様

仕様書 策定状況 コメント
DOM
characterSet の定義
現行の標準 最初期の定義

ブラウザ実装状況

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
characterSetChrome 完全対応 1
完全対応 1
完全対応 1
補足 代替名
補足 charset alias was made read-only in Chrome 45.
代替名 非標準の名前 charset を使用しています。
完全対応 1
代替名
代替名 非標準の名前 inputEncoding を使用しています。
Edge 完全対応 ≤79
完全対応 ≤79
完全対応 ≤79
代替名
代替名 非標準の名前 charset を使用しています。
完全対応 ≤79
代替名
代替名 非標準の名前 inputEncoding を使用しています。
Firefox 完全対応 あり
完全対応 あり
完全対応 44
代替名
代替名 非標準の名前 charset を使用しています。
完全対応 あり
代替名
代替名 非標準の名前 inputEncoding を使用しています。
IE ?
?
?
代替名
代替名 非標準の名前 charset を使用しています。
?
代替名
代替名 非標準の名前 inputEncoding を使用しています。
Opera 完全対応 あり
完全対応 あり
?
代替名
代替名 非標準の名前 charset を使用しています。
?
代替名
代替名 非標準の名前 inputEncoding を使用しています。
Safari 完全対応 あり
完全対応 あり
完全対応 9
代替名
代替名 非標準の名前 charset を使用しています。
?
代替名
代替名 非標準の名前 inputEncoding を使用しています。
WebView Android 完全対応 45
完全対応 45
完全対応 あり
補足 代替名
補足 charset alias was made read-only in WebView 45.
代替名 非標準の名前 charset を使用しています。
完全対応 あり
代替名
代替名 非標準の名前 inputEncoding を使用しています。
Chrome Android 完全対応 45
完全対応 45
完全対応 あり
補足 代替名
補足 charset alias was made read-only in Chrome 45.
代替名 非標準の名前 charset を使用しています。
完全対応 あり
代替名
代替名 非標準の名前 inputEncoding を使用しています。
Firefox Android 完全対応 あり
完全対応 あり
完全対応 44
代替名
代替名 非標準の名前 charset を使用しています。
完全対応 あり
代替名
代替名 非標準の名前 inputEncoding を使用しています。
Opera Android 完全対応 あり
完全対応 あり
?
代替名
代替名 非標準の名前 charset を使用しています。
?
代替名
代替名 非標準の名前 inputEncoding を使用しています。
Safari iOS 完全対応 あり
完全対応 あり
?
代替名
代替名 非標準の名前 charset を使用しています。
?
代替名
代替名 非標準の名前 inputEncoding を使用しています。
Samsung Internet Android 完全対応 5.0
完全対応 5.0
完全対応 あり
補足 代替名
補足 charset alias was made read-only in Samsung Internet 5.0.
代替名 非標準の名前 charset を使用しています。
完全対応 あり
代替名
代替名 非標準の名前 inputEncoding を使用しています。

凡例

完全対応  
完全対応
実装状況不明  
実装状況不明
実装ノートを参照してください。
実装ノートを参照してください。
非標準の名前を使用しています。
非標準の名前を使用しています。