アフィリエイト、副業を支援する為の情報、その他色々なお役立ち情報発信サイトです。
情報ビジネス支援クラブ
  • トップページ
    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

WordPressへ記事を外部から投稿

PHPからWordPressへ外部投稿する方法 WordPressは、XML-RPCプロトコルがプラグイン無しで対応しているので、それを使うと便利そうです。 XML-PRCとは RPC(Remote Procedure Call:遠隔手続き...
PHP

PHP 超簡単にログをとる

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

PHP ファイル名の指定で、マジカル定数を使用

PHPでファイル名を指定する場合は、なるべくマジカル定数 __DIR__ などと組み合わせた方が良いです。 マジカル定数を使わない場合 例として フォルダ・ファイル構成が public_html ┣ folder1 ┃ ┗ test1.ph...
PHP

PHP 配列をそのままファイルに保存、読み込み

<?php // 配列の中身をファイルに保存 file_put_contents("test.dat", serialize($dataArray)); //配列をファイルから読み込み $dataArray = unserialize(fi...
PHP

PHP バックグランド処理

バックグランド処理呼び出し(実行) <?php exec("nohup php -c test.php 引数1 引数2 引数3 > /dev/null &"); ?> 呼び出され側(バックグランド処理) test.php <?php 引数1...
PHP

php ヒアドキュメント構文を使う

複数行の文字列を表示したり、変数へ代入する場合は、ヒアドキュメント構文を使うと便利です。 ヒアドキュメントの構文 構文の2行目から識別子;の前までの文字列(破線部分)を、代入先へ代入します。 識別子は、代入する文字列の内に含まれない文字で決...
Cocoonでブログカードの抑制方法
ブログアフィリエイト必須 広告ランダム表示AdRandom準備編
スポンサーリンク

よく読まれてる記事

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

最近の投稿

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|総合
      • 生活|総合
      • 美容・健康|総合
      • 学習・自己啓発|総合
      • エンターテイメント|総合
      • コミュニケーション・恋愛|総合
  • ホーム
  • トップ