php 複数の文字コードのhtmlから呼び出し

2013/05/24

HTMLからPHPを呼び出しているんだけど、そのHTMLがページによって文字コードが異なる。

やりたいこと

・PHPファイルに共通項目(メニュー等)を記載
・各HTMLからPHPを呼び出し、共通項目を出力

問題点

・HTMLファイルによって文字コードが異なるので、文字化けする場合がある

解決案

1.HTMLファイルの文字コードを統一する
2.文字コードの種類ごとにPHPファイルを用意する
3.HTMLファイルで呼び出す際に文字コードを変換する

で、「1」はJavascriptも絡んでくるのでやりたくない。
次に「2」は「共通項目」という概念の意味がなくなる。
消去法で「3」にする。

現状は、PHPファイルで「echo xxx;」ってな感じで戻り値なし。
そのため、PHPの呼び出しの引数に文字コードをセットして「echo」する寸前に文字エンコードする。

下記サンプルはPHPファイルが「UTF8」の場合

function xxx($arg="UTF8") {
  $result = "HTMLに出力する内容";
  if ($arg == "SJIS") {
    echo mb_convert_encoding($result, "SJIS", "UTF8");
  }
  else {
    echo $result;
  }
}

新着(ニュース関連以外)

2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい
2017-11-30
Xampp+FuelPHP1.8をサーバーにupしたらエラーになった。