Webページの文字コードを指定する方法にはいくつか方法がありますが、その指定方法を今一度確認しておきましょう。
最も推奨されている文字コードの指定方法は、HTTPレスポンスヘッダー内にて指定する方法になります。Webサーバは、ブラウザなどのユーザーエージェントからのリクエストに対して、HTTPレスポンスヘッダーと呼ばれるデータを送信します。その中に、文字コードに関する情報を含めるという指定方法で、仮に文字コード情報が複数存在する場合は、HTTPレスポンスヘッダーの指定が最優先されます。
では、HTTPレスポンスヘッダーで文字コードを宣言するには、サーバー管理者がWebサーバに設定するか、もしくは「.htaccess」という設定ファイルを設置できる状況であれば、次のように記述をします。
.htaccessファイルの設定
1 |
AddType "text/html; charset=UTF-8" html shtml |
※「.htaccess」ファイルに上記の記述をすると、HTTPレスポンスヘッダーに文字コード情報(charset=UTF-8)が出力されるようになります。
HTTPレスポンスヘッダーによる文字コードの宣言は、サーバーの設定が必要なので、誰でも利用出来るわけではありません。そこで代用手段として用意されているのが、meta要素を使用して文字コードを直接宣言する方法です。
HTMLソース
1 2 3 4 5 6 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4. a 01//EN" http://www.w3.org/TR/html4/strict.dtd> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>SAMPLE</title> </head> |
XHTMLソース
1 2 3 4 5 6 7 8 |
<?xml version="1.0" <span style="color: #ed1384;">encoding="Shift_JIS"</span>?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>SAMPLE</title> </head> |
※XHTML文書では、基本的に文書のはじめにXML宣言を記述して文字コードを宣言しなければいけません。
ここまでの方法でも文字化けが発生してしまう場合には、ファイルを保存するときの文字コード選択や誤字がないか確認してみましょう。
以上になります。