shift-jisからutf-8へ変換

ホームページ作ろうかなって思った時に、まず文字コードと呼ばれるものに遭遇します。
shift-jisとかutf-8とか・・いろいろありますが何がいいの?ってなると思います。
私はshift-jisでサイトを構築してましたが、当時はまだスマホが普及しだした時期でガラケー率が高かったことが理由です。
携帯電話はほぼshift-jis標準でしたので問題なかったのですが、スマホとかいうやつが出てきてからは徐々にshift-jisが迫害されつつある状況にあります。
それに準じて(かどうかは知らないが)PHPのサンプルソースとか覗いててもutf-8が圧倒的に多くていちいち変換しなくちゃならないのも面倒だし、XAMMPもデフォでutf-8だし。
時代はutf-8だ〜ということで移行することにしました。
以下、自己流なので参考にして頂いても責任は持ちません!!

まず、方法としてページを丸ごとshift-jisからutf-8に変えてしまう。
これ確実です。
が、PHPのincludeで別ファイルを取り込んでいる場合やフォームや掲示板などで別ページからPOSTなどで値(文字列)を受け取っている場合に予期せぬ不具合が起こってしまう可能性ありです。
なので、別ファイルと連動していない単体のファイルから丸ごと文字コード変換します。
TeraPadでファイルを開いて右クリック→すべて選択→コピー(切り取り)

文字コード指定再読み込み→UTF-8(N)(T)
右上に見えている羽はイギーのスタンド“ザ・フール”です。

文字化けしますがもう一度、
すべて選択→BackSpaceで消去してから〜切り取ったソースを→貼り付け。

<head>タグ内の文字コード指定タグ
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" />
の部分を、
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
等に書き換えてUTF-8を指定。

以上でshift-jisファイルからutf-8ファイルに変身。

そしてshift-jisのファイルから送られてきた文字列をUTF-8形式で吐き出す方法。
php.ini設定などの方法もありますが、これもドメイン内のファイル全てに適用されるので不具合発生の可能性あり・・
なのでPHPで処理。
$str = mb_convert_encoding($str, "UTF-8", "auto");
この一行で受け取った変数(例:$str)をUTF-8形式で出力するように指定する。
関数の定義は『mb_convert_encoding』でググれば出てきます。
数千ページ規模のボリュームのあるサイトだとプログラムを組んでテキストマッチでソースを書き換えるファイルを作成した方が早いかも・・

当ブログの自動プログラムも今回の投稿からutf-8仕様に変更しましたがバッチリです(^^)...15分で書けたyo!

そんな感じで・・


関連記事:
アクセス解析でのウェブ トラッキング機能を無効にする Webマニア以外には関係のない話だな・・
履歴を残さずサイト閲覧 シークレットモードだからってストーカーになるなよ!!
タイピング練習無料サイト集 打鍵サイト集めてみた。タイピング記録サイトで日々精進!
アクセスとサイトのイメージ アメブロとか平均アクセスとかアナリティクスとか黒いブーツとか・・
消費税・売価・原価率を算出できるプログラム 商売人必見か?頑張って作ったから使ってね!
文字コードで発狂寸前
お取り寄せフォームつくった
緩めのスパム投稿対策プログラム
PHP・サンプルソースエロエロ
PHP・ブログ自動投稿プログラム
PHP・新着コメント自動表示プログラム

SEO・プログラムに関する記事一覧



最終更新日 2014/1/17
麺飯茶家浪花
香川県高松市林町1511-1