![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
PHPで作成したWebサイトをブロバイダーのサーバーにアップして表示すると文字化けします。
ローカル環境では、php.iniの設定で、エンコードをUTF-8としていますが、「サーバー環境はWindowsサーバをベースとしており、WEBサーバはIIS(7.0)となるため、各サイトごとにphp.iniファイルを設定することはできない。
(サーバ内にアップロードされてもPHPから読ませることはできません。)」 とブロバイダに言われました。
どうしたらよいのでしょうか?
ちなみに、ローカル側のエンコードをjisにすれば問題ないのかもしれませんが、いまいちphp.iniの設定に自身がないのです。
今の状態は以下の通りですが、どこをどう変更すればよいのでしょうか?
よろしくお願いします。
****************************************************
default_charset = "UTF-8" 出力文字コード
mbstring.internal_encoding = UTF-8 PHP内部の文字コード
mbstring.http_input = auto HTTP入力の文字コード
mbstring.http_output = pass HTTP出力の文字コード
mbstring.encoding_translation = Off HTTP入力の文字コードの自動変換
****************************************************
No.3ベストアンサー
- 回答日時:
単純に、webサーバがデフォルトで送出する、Content-Typeヘッダの文字コードがUTF-8でない、とかそういうことではないですか?
以下の二点、試してみてはどうでしょう。
・コンテンツを表示擦る前に、headerタグで文字コードを指定する。
<?php header('Content-Type: text/html; charset=UTF-8')?>
・HTMLタグでmetaで指定
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
※titleタグなど日本語が出てくる前に指定する。
どうでしょう。
No.2
- 回答日時:
実際にスクリプトを記述したファイルの文字コードが「mbstring.internal_encoding」で指定したものと同じであるか、確認してみてください。
うっかりシフトJISで保存していた、ということはないでしょうか。また「mbstring.encoding_translation」についてはスクリプト内で設定することは出来ないと思います。
根気強く頑張ってください。
参考URL:http://www.php.net/manual/ja/configuration.chang …
samchayさん:
何度もありがとうございます。
metaの設定で、とりあえず何とかなりました。
これから、もっと本格的なコーディングに入ると、さらなる難所がやってきそうですが、またよろしくお願いします。
No.1
- 回答日時:
設定ファイルにアクセスできない場合、ご自身のスクリプト内で関連項目を設定することになります。
設定には「ini_set()」関数が利用できます。変更可能な範囲が「PHP_INI_ALL」となっているものはスクリプト内で変更可能ですので、次のようにして設定します。
ini_set('mbstring.internal_encoding', 'UTF-8');
「default_charset」も同様に設定できますが、これは「header()」関数を用いて上書きすることも可能です。
まずはローカルの環境と同じように設定し、様子を見ては如何でしょうか。
参考URL:http://www.php.net/manual/ja/mbstring.configurat …
samchaysann:
ご回答、ありがとうございます。
私もini_setだと思い、以下のように設定しましたが、やはりダメでした。記述が間違っている、若しくは足りないのでしょうか?
エラーにはなりませんが、文字化けです。
<?php ini_set('default_charset','UTF-8');
ini_set('mbstring.internal_encoding','UTF-8');
ini_set('mbstring.http_input','auto');
ini_set('mbstring.http_output','pass');
ini_set('mbstring.encoding_translation','off');
print('テスト');
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Windows 8 メモ帳による文字コード変換 2 2022/09/01 18:38
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サーバーにアップすると文字化...
-
文字集合範囲外の文字とパーセ...
-
phpファイルで文字化け
-
PHPExcelバッファへの書き込み...
-
PHPで韓国語の表示がうまくいき...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
PHPで新しいウインドウで開く命...
-
別ファイルの変数を呼び出した...
-
バッチを用いたフォルダの自動移動
-
php.ini を設定を変更すると再...
-
form actionで二つ送信先を指定...
-
phpの中でphpを書けないか
-
「@$変数」の「@の意味は?」
-
リダイレクトでPOST
-
PHPで、エラーがない場合のみ画...
-
フォームで戻った際に入力済み...
-
Subversionのリポジトリの削除
-
PHP8を使うと、大量のWarningが...
-
VBSの「MsgBox」について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EclEmmaレポートのエクスポート...
-
PHPで韓国語の表示がうまくいき...
-
PHPExcelバッファへの書き込み...
-
文字コード変えたら、fopenでき...
-
HTTPヘッダはメタタグにも記述...
-
Eclipseで文字化け
-
csvファイル出力時に文字化けし...
-
phpで動的タイトル
-
文字集合範囲外の文字とパーセ...
-
phpログファイルの文字化けにつ...
-
PHPで「®」や特殊文字のエスケープ
-
phpフォームで文字化け
-
Google Chromeで文字化け
-
発生した文字化けに対する対処
-
サーバーにアップすると文字化...
-
GEEKLOG(ギークログ) 文字化け
-
PHP time()に関しての質問です
-
文字化けについて
-
UTF8のページでIEがシフトJISを...
-
batファイルでうまく動かないプ...
おすすめ情報