アフィリエイト、副業を支援する為の情報、その他色々なお役立ち情報発信サイトです。
情報ビジネス支援クラブ
  • トップページ
    Infomation
  • 副業
    SideBusiness
    • FX
    • ブログアフィリエイト
    • ポイントサイト
  • ワードプレス
    WordPress
    • Cocoon
  • Win
    Windows
    • Tools
    • Excel VBA
  • プログラミング
    Programming
    • PHP
    • Javascript
    • html
  • スマホ
    Android
    • スマホゲーム
    • 計測
  • ランキング
    Ranking
    • ビジネス・稼ぐ|総合
    • 投資・仮想通貨|総合
    • Internet・AccessUp|総合
    • 生活|総合
    • 美容・健康|総合
    • 学習・自己啓発|総合
    • エンターテイメント|総合
    • コミュニケーション・恋愛|総合
ホーム
PHP
XSERVER である日突然PHPのプログラムで文字化け!

XSERVER である日突然PHPのプログラムで文字化け!

2018.11.022019.07.30
スポンサーリンク

サーバーのバージョンアップで、PHPの環境に変化!?
数年前にEUC-JPで作成したホームページが急に文字化けしてしまいました。
そこで、調査と対処方法を説明します。

  1. XSERVERのPHPでEUC-JPの文字化け対処 結論
    1. EUC-JPのPHPコード対処前
    2. EUC-JPのPHPコード対処後
  2. XSERVERのPHPでShift-JISの文字化け対処 結論
    1. Shift-JISのPHPコード対処前
    2. Shift-JISのPHPコード対処後
  3. XSERVERのPHPで文字化けを起こす原因
  4. XSERVERのPHPが文字化けを起こす原因
  5. XSERVERのPHPが文字化けを起こす対処

XSERVERのPHPでEUC-JPの文字化け対処 結論

次のphpのコード1行をなるべく先頭の方に入れるこで解決しました。

header("Content-Type:text/html;charset=EUC-JP");

例として対処前と対処後を載せます。

EUC-JPのPHPコード対処前

<?PHP
echo "EUC-JPで保存したPHPファイル<br>\n";
echo "あいうえおかきくけこさしすせそたちつてと<br>\n";
?>

このコードをアクセスすると
こんな感じで文字化けを起こしています。

EUC-JPのPHPコード対処後

PHPファイルの先頭の方にheader()関数のcharsetで使用する文字コードを指定する。

<?PHP
header("Content-Type:text/html;charset=EUC-JP");

echo "EUC-JPで保存したPHPファイル<br>\n";
echo "あいうえおかきくけこさしすせそたちつてと<br>\n";
?>

この対処後のコードをアクセスすると
文字化けは解消されています。

XSERVERのPHPでShift-JISの文字化け対処 結論

次のphpのコード1行をなるべく先頭の方に入れるこで解決しました。

header("Content-Type:text/html;charset=Shift-JIS");

これも例として対処前と対処後を載せます。

Shift-JISのPHPコード対処前

<?PHP
echo "Shift-JISで保存したPHPファイル"<br>\n";
echo "あいうえおかきくけこさしすせそたちつてと"<br>\n";
?>

このコードをアクセスすると
こんな感じで文字化けを起こしています。

Shift-JISのPHPコード対処後

この場合もPHPファイルの先頭の方にheader()関数のcharsetで使用する文字コードを指定する。

<?PHP
header("Content-Type:text/html;charset=Shift-JIS");

echo "Shift-JISで保存したPHPファイル"<br>\n";
echo "あいうえおかきくけこさしすせそたちつてと"<br>\n";
?>

この対処後のコードをアクセスすると
文字化けは起こりません。

XSERVERのPHPで文字化けを起こす原因

実際にホームページがあるXSERVERのフォルダのPHPがどのような設定なのか確認します。

<?PHP
  phpinfo();
?>

このソースを文字化けが起きているサーバーのフォルダへphp_info.phpとか言うファイル名でアップロードして
アクセスしてみます。

default_charset が「UTF-8」になってました。

XSERVERのPHPが文字化けを起こす原因

文字コードを「UTF-8」で使用するなら全く問題はないのですが、
それ以外の文字コードを使用すると文字化けを起こすおそれがあります。

XSERVERのPHPが文字化けを起こす対処

そこで通常の対策として「php.ini」を書き換えればよいことです。

ここでXSERVERのマニュアルをよく見ると
「PHP高速化設定(FastCGI)」を有効にしているので、PIPを直接編集しても適用されない!
「php.ini設定」で行うように指示されてます。

そこでXSERVERのサーバーパネルから「php.ini」設定のページを開くと
何と、default_charsetの設定項目が有りません。
default_charsetの変更不可能。
おそらくPHP高速化設定では、個別ドメイン毎の「default_charset」設定は出来ない方針でしょう

取り敢えず
「mbstring.internal_encoding」に使用する文字コードを設定しておきます。
この設定だけでは、やはり文字化けは直りません。

php.ini以外で「default_charset」の設定するには、
.htaccessに次のコードを追加することで変更可能なはずです。
EUC-JPなら

php_value default_charset "EUC-JP"

Shift-JISなら

php_value default_charset "Shift-JIS"

.htaccessで「default_charset」の変更を試みましたが、サーバーエラーではねられてしまいました。

結局、PHP高速化設定中は、ドメイン毎に「default_charset」を変更するという小細工は効かないという結論です。

面倒でも、各PHPのファイルの先頭ではheader()関数で charsetを指定する必要があります。
と言うか、今後UTF-8以外のコードを使用する場合は、必ずheader()関数で charsetを指定する習慣付けをする必要があるみたいです。



PHP
EUC-JPPHPShift-JISXserver文字化け
X Facebook はてブ Pocket LINE Pinterest
スポンサーリンク
情報ビジネス支援クラブ

関連記事

PHP

PHP 周期的にPHPを走らせる

サーバで周期的にスクリプトを起動 と言えば、簡単な方法としてサーバのCron機能を使えば実現できます。 Cronとは 読み方は、「クロン」「クーロン」「クローン」「シーロン」と様々です。 UNIX、Linuxの常駐プログラムの一種で、指定し...
PHP

PHPで絶対パスを取得する方法

ファイルをinclude、requireする場合、そのファイルの絶対パスが必要な場合があります。 絶対パスは、レンタルサーバにより異なり、またサブドメインの場合とか、なかなか分かりにくい時がが有ります。 そんな時に簡単に調べる方法を解説しま...
PHP

PHP 超簡単にログをとる

PHPでログをとる必要性 PHPプログラムを開発していく過程で、デバッグを行いますが、C言語、VBと違いトレースを行う環境を作りにくい現状。 また、実際の運用でも動作が問題なく完了してるか、エラーは発生してるかなどの履歴を残すことは重要です...
PHP

PHP ダブルクォーテーションに囲まれた文字列内の変数置換を調べる

<?php //------------------------------------ // 普通の変数の場合 $num = 16; echo "numの値($num)"; // 結果成功 numの値(16) echo "numの値$nu...
PHP

PHP GDライブラリを使用したサーバー上で画像加工 その2

前回、PHP GDライブラリを使用したサーバー上で画像加工 その1 で解説した基礎編に続き、PHP GDライブラリを使用したサーバー上で画像加工 その2 として、今回は実際にJPEG画像を読み込んで、文字列を合成してJPEG画像で保存する画...
PHP

YouTube Data API v3 で動画の検索 実践編

検索ワードを決めてから、たった3行でYouTubeの動画検索結果をPHP用連想配列化!! ちょー簡単バージョン。 前回「YouTube Data API v3 で動画の検索 準備編」では、 GoogleのYouTube Data API v...
Cocoonでブログカードの抑制方法
ブログアフィリエイト必須 広告ランダム表示AdRandom準備編
スポンサーリンク

よく読まれてる記事

ONUから光ケーブルの外し方
2018.07.222018.09.16
防水規格IPxxの等級の確認、シャワーはOK!でもお風呂はNG!
2018.12.282019.11.29
Excel 選択したセルを自動コピー
2018.11.28
ダイソー精密ドライバーは六角や星型のドライバーも入っててんこ盛り
2019.10.23
Windows10 ロック画面の画像を削除する方法
2018.07.282018.09.16
NTT光ルーターPR-400MIから光ケーブルの外し方
2018.07.222018.09.16
SF Expressの荷物の配送状況を確認する
2018.10.26
VBA 失敗しない文字列をクリップボードへコピーする方法
2019.11.29
時系列データ分析:予測モデルの構築と評価
2024.10.04
ホームページを根こそぎダウウンロード
2019.02.25

最近の投稿

php.iniの設定を変えずに強制的に日本時間を取得する
2019.10.31
php ヒアドキュメント構文を使う
2019.10.30
Visual Studio CodeでPHPデバッグ
2019.02.13
WindowsにPHPをインストールする
2019.02.122019.02.17
XSERVER である日突然PHPのプログラムで文字化け!
2018.11.022019.07.30
PHPで絶対パスを取得する方法
2018.10.25
超簡単!テキストをクリップボードへコピー
2018.10.202018.10.29
YouTube Data API v3 で動画の検索 実践編
2018.10.13
YouTube Data API v3 で動画の検索 準備編
2018.10.12
PHP GDライブラリを使用したサーバー上で画像加工 その2
2018.10.11

カテゴリー

  • AI・機械学習6
  • IoT5
  • Linux1
  • MySQL1
  • PHP26
  • Windows44
    • Excel VBA11
    • Tools17
  • WordPress59
    • Cocoon17
  • その他34
    • パソコン5
    • プログラミング10
      • html1
      • Javascript2
    • 文具2
    • 生活17
  • クラウドコンピューティング6
  • サーバー4
  • スマホ31
    • スマホゲーム14
    • 計測1
  • セキュリティ5
  • データ分析5
  • ネットワーク4
  • ノウハウ情報9
    • インターネット・アクセスアップ1
    • エンターテイメント1
    • コミュニケーション・恋愛1
    • ビジネス・稼ぐ1
    • 学習・自己啓発1
    • 投資・仮想通貨1
    • 生活1
    • 美容・健康1
  • 副業38
    • FX2
    • トラフィックエクスチェンジ2
    • ブログアフィリエイト20
    • ポイントサイト13
  • 未分類23
スポンサーリンク
スポンサーリンク
  1. XSERVERのPHPでEUC-JPの文字化け対処 結論
    1. EUC-JPのPHPコード対処前
    2. EUC-JPのPHPコード対処後
  2. XSERVERのPHPでShift-JISの文字化け対処 結論
    1. Shift-JISのPHPコード対処前
    2. Shift-JISのPHPコード対処後
  3. XSERVERのPHPで文字化けを起こす原因
  4. XSERVERのPHPが文字化けを起こす原因
  5. XSERVERのPHPが文字化けを起こす対処

お役立ち情報検索

【ビジネス・稼ぐ】総合ランキング

【投資・仮想通貨】総合ランキング

【インターネット・アクセスアップ】総合ランキング

【生活】総合ランキング

【美容・健康】総合ランキング

【学習・自己啓発】総合ランキング

【エンターテイメント】総合ランキング

【コミュニケーション・恋愛】総合ランキング

サイト利用上の注意事項

サイト利用上の免責事項

サイトへのリンクについて

プライバシーポリシー

サイトマップ

 

無料オリジナルツール1「オートリライトRW」
無料オリジナルツール2「Auto Article Posting Program Lite」
無料オリジナルツール3「TwCreator」
無料オリジナルツール4「AdRandom」
無料オリジナルツール5「情報収集ツールCollectInfoEX」
無料オリジナルツール6「キーワード選択ツールSelectKeywordEX」


お役立ち情報検索

【ビジネス・稼ぐ】総合ランキング

【投資・仮想通貨】総合ランキング

【インターネット・アクセスアップ】総合ランキング

【生活】総合ランキング

【美容・健康】総合ランキング

【学習・自己啓発】総合ランキング

【エンターテイメント】総合ランキング

【コミュニケーション・恋愛】総合ランキング


サイト利用上の注意事項

サイト利用上の免責事項

サイトへのリンクについて

プライバシーポリシー

サイトマップ

情報ビジネス支援クラブ
© 2018 情報ビジネス支援クラブ.
    • トップページ
    • 副業
      • FX
      • ブログアフィリエイト
      • ポイントサイト
    • ワードプレス
      • Cocoon
    • Win
      • Tools
      • Excel VBA
    • プログラミング
      • PHP
      • Javascript
      • html
    • スマホ
      • スマホゲーム
      • 計測
    • ランキング
      • ビジネス・稼ぐ|総合
      • 投資・仮想通貨|総合
      • Internet・AccessUp|総合
      • 生活|総合
      • 美容・健康|総合
      • 学習・自己啓発|総合
      • エンターテイメント|総合
      • コミュニケーション・恋愛|総合
  • ホーム
  • トップ