PHPプログラムに関する各種メモ書き

PHPで文字コードを指定したヘッダを返す

PHPで文字コードを指定したヘッダを返すには以下のようにします。

// UTF-8 の場合
header("Content-type: text/html; charset=UTF-8");
// Shift-JISの場合
header("Content-type: text/html; charset=Shift_JIS");
// euc-jp
header("Content-type: text/html; charset=euc-jp");

またPHPで明示的に文字コードを設定したい場合はもともとのPHP設定でエンコーディングが明確に指定されていない場合が多いです。

ですので以下のようにまとめて設定するといいでしょう

PHP文字コード関連をまとめて設定(PHP 5.6対応)

$encoding = 'UTF-8';
mb_internal_encoding($encoding);
$pv = floatval(phpversion());
if ($pv <= 5.5){ ini_set('mbstring.internal_encoding', $encoding); }
ini_set('mbstring.script_encoding', $encoding);
header("Content-Type: text/html; charset={$encoding}");

No.899
08/10 17:12

edit