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;
  }
}

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

2017-08-03
formのinputでmaxlengthを使うとFirefoxでバグってた。他のブラウザでも気づかずにバグってたかもしれない。
2017-07-19
折れ線グラフをもう少しゆるやかに・・・というか何というか・・・調べていくと「移動平均」っていう言葉にたどり着いた
2017-07-10
FuelPHPの1.8をダウンロードして使っていたらセッションが使えないということに気付いた。
2017-06-27
MACにWin10をインストールしてみた:再挑戦。
2017-06-25
「簡単」っていうヤツらが多いけど・・・難しいぞ。