.htmlファイルでPHPを動かす方法(UTF-8の文字化け対策方法もあり)
photo credit: DaveBleasdale via photopin cc
.htaccessというファイルを使って.htmlの拡張子のファイルでPHPスクリプトを動作させる方法です。
ぐぐると沢山方法が出てきますが、僕の環境ではUTF-8で作成したページがどうしても文字化けしてしまったのでその対策方法も紹介したいと思います。
1..htmlファイルでPHPを動作させる方法
以下の1行を記載した.htaccessファイルをサーバへアップロードする。
これで.htmlファイルに書いたPHPスクリプトが動作すると思います。
ここからが本番。
僕の環境ではhtmlファイルをUTF-8で書いて、ファイルの文字コードもUTF-8で保存しているのに下の画像のように文字化けを起こしてしまいました。
■Before
ブラウザのエンコードを確認すると自動検出で日本語(Shift-JIS)となっています。
ちゃんとhtmlファイル中には
とか、
って書いてUTF-8で保存しているのに、です。
この文字化けへの対策方法を、2つ紹介したいと思います。(他にもあるかも知れません。)
A案:1.の.htaccessファイルに次の1行を追記する。
※default_charsetとは
出力時にHTTPヘッダとして送信する文字コード名
これ一発で文字化けが直ります。スバラシイ!
■After
もしも個別ファイルで対処したい場合は次のB案を試してみて下さい。
B案:htmlページ中に次の1行を追記する。
PHPのheader関数を使っているのでページの出力が始まる前に書いていないと以下のようなPHPのエラーになります。
<html>などの出力より前に記載してみて下さい。
この方法の場合はHTMLファイルの数だけ対処が必要なので非常に面倒ですが、一応。
※ちなみに僕は割と長いことB案を使っていました (*/∇\*)
htmlでPHPを実行していて、UTF-8の文字化けで悩んでいる方、一度お試しあれ。
SPONSORD LINKS
スポンサーリンク
スポンサーリンク
関連記事
-
-
phpmyadminにアクセスするとPHP Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /PATH TO PHPMYADMIN/libraries/Error_Handler.class.php on line 25 とエラーになる
久しぶりにサーバネタ。 phpmyadminをインストールしようと http:/ ...
-
-
PHP:MYSQLデータベースに携帯の絵文字をINSERTすると???と文字化けする対応
更新しなさ過ぎでこのままじゃ確実に KAKIMASSEN になっちゃうよねーww ...
-
-
PHP:文字列の比較で == は絶対に使っちゃだめ。
マジですか? しかもかなり前のエントリー(汗)。 PHPでご飯食べてる先輩もフツ ...
-
-
PHP:今週月曜00:00:00のタイムスタンプを取得したい
※2011/4/23 追記 コメントにて一行で解決する方法を教えて頂きました。 ...
-
-
xamppでApacheを起動するとThis may be due to a blocked port, missing dependencies, improper privileges, a crash, or a shutdown by another method. Press the Logs button to view error logs and check the Windows Event Viewer for more clues If you need more help, copy and post this entire log window on the forumsとエラーが表示される時の対処法
windows7にxamppをインストール後、コントロールパネルからApache ...
-
-
PHPで Fatal error: Call to undefined function mcrypt_module_open() in /path/to/file on line *** とエラーが表示される場合の対処方法
centos6、php5.3の環境でmcrypt_module_open()を使 ...
-
-
PHP:glob関数で複数パターンのマッチングを行ないたい
何かと便利なPHPのglob関数。 よく <?php $files = g ...
-
-
Apache:バーチャルホストで複数のServerAliasを使いたい
複数のサブドメインで、同じファイルにアクセスさせたい場合 (例:www.exam ...
-
-
PHPで Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /path/to/file on line *** のエラーの対応方法
centos6、PHP5.3のサーバで Warning: strtotime() ...
-
-
WordPress:特定の記事(エントリ)でPHPを実行したい
このブログでそんな事がしたくなって、調べてみました。 エントリ中でPHPコードを ...