Ownedmedia ウェブ制作に役立つコンテンツを発信中!

PHP 2016.05.30

HTTPレスポンスの文字コードを設定する

Tags: ,
最終更新日:Update

ウェブページが文字化けする原因となる文字コードの設定ですが、metaタグなどで文字コードを指定していてもファイルが文字化けしてしまうケースもあります。その場合はHTTPレスポンスの文字コードも設定する必要があります。

 

ウェブページの表示には、ブラウザからHTTPリクエストがWEBサーバーに送信され、WEBサーバーからHTTPレスポンスがブラウザへ返されるという流れがあります。このWEBサーバーから返されるHTTPレスポンスにあるレスポンスヘッダというファイルに関する情報がついており、この中にファイルの文字コードを設定できる部分があります。

 

HTTPレスポンスの文字コードを設定するには次の方法があります。

 

1. htaccessへ追記する

htaccessファイルに次の一行を追記します。

 

【.htaccess】

AddType "text/html; charset=UTF-8" .html .php

 

2. php.iniへ追記する

PHPがインストールされている場合は、PHPの設定ファイルであるphp.iniへ次の一行を追記します。

 

【php.ini】

default_charset = "UTF-8"

 

3. 直接phpファイルへ記述する

ファイル単位で文字コードを設定する場合などには、次の一行をファイルの先頭に記述することで設定できます。

 

【PHP】

<?php header("Content-type: text/html; charset=utf-8"); ?>

 

 

文字コード変更後は、デバッグツール等でHTTPのレスポンスヘッダを確認してみると

Content-Type     text/html; charset=utf-8

となっているのが確認できます。

 

この記事を書いた人

オガワ シンヤ

合同会社デザインサプライ代表兼CEO / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。

  • Twitter

コメントフォーム

記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。なおメールアドレスは公開されませんのでご安心ください。

内容に問題なければ、お名前・ハンドルネームとメールアドレスを入力いただき、下記の「コメントを送信」ボタンを押してください。

CAPTCHA


この記事もよく読まれています

Scroll to Top
ご質問・ご相談はありませんか ?