![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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でcookieがうまく保存されない
-
掲示板を作成しておりアップロ...
-
フォームで戻った際に入力済み...
-
ワードプレスサイト PHP8.0.25...
-
PHPで画像の渡しが上手く行きま...
-
「基礎からのMySQL 第3版 Kindl...
-
PHP MySql 画像を取得
-
phpの imap_search で漢字コード
-
a href リンクタグでだけで 送...
-
EC-CUBEをeclipseからコンパイ...
-
PHPのエラーの解消法について教...
-
PHPについて。
-
アマゾンのような評価の星を選...
-
PHP8を使うと、大量のWarningが...
-
SFTPなどは使わないホームペー...
-
ファイルアップロードに関して...
-
Q&Aサイトを作成していてURLの...
-
アップロード画像数でCSSを分け...
-
アップロードファイルの数に応...
-
ファイルアップロードの上限を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字集合範囲外の文字とパーセ...
-
(mysql_set_charset)PHPでINSER...
-
EUC-JPのサイトをSHIFT-JISに変...
-
EUCからshift_jisに書き換えに...
-
PHPで「®」や特殊文字のエスケープ
-
PHPで韓国語の表示がうまくいき...
-
携帯の文字化け
-
PHPでセッション導入後に初めて...
-
mysql→EUC-JP、php→UTF-8の時の...
-
サーバーにアップすると文字化...
-
文字コード変えたら、fopenでき...
-
サーバーにアップすると文字化...
-
ファイルの文字コードを調べる...
-
wordpressがMySQLに日本語デー...
-
フォームからPOSTされた値をXML...
-
海外で作成されたPHPスクリプト...
-
フォーム入力のエンコーディン...
-
HTTPヘッダはメタタグにも記述...
-
MySQL+PHPサイトでSJISからEUC...
-
自作cgiのページがIE10で文字化...
おすすめ情報