
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mysql→EUC-JP、php→UTF-8の時の...
-
phpのheader("Location:#pos")...
-
.htaccessにphp_valueが使用できな
-
*.php、*.php3、*.phtmlの違い
-
phpでメール送信できません 原...
-
phpのextension_dirを複数指定...
-
phpの中でphpを書けないか
-
PHP PDOライブラリが読み込まれ...
-
mamp環境でのcronの使い方で困...
-
PHPでメールを受信するには?
-
再度、xamppにおけるjpgraphの...
-
セッションについての設定なの...
-
2つの画像ファイルが異なるファ...
-
require_once()でファイルが読...
-
PHP版のPDFlibのインストール
-
PHPのif文でその処理を途中で抜...
-
header(Location:~)で$_SESS...
-
PHPからMSSQLへの接続結果の文...
-
includeでHTMLファイルを呼出し...
-
PEAR(Image_QRCode)のエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IIS5.1です。PHPをブラウザで開...
-
phpログファイルの文字化けにつ...
-
MySQL+PHPサイトでSJISからEUC...
-
コード上の埋込み漢字コードの...
-
文字化けに関して
-
ブラウザーで日本語が文字化け...
-
<meta charset="utf-8"><!-- 文...
-
ファイルの文字コードを調べる...
-
PHPで「®」や特殊文字のエスケープ
-
[HTML-PHP]あるPHPファイルだけ...
-
PHPの文字コード方針の決め方・...
-
Unicodeを文字列に変換する方法
-
拡張子PHP3のスクリプトを...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
CFileDialogの最初のディレクト...
-
.phpと.incファイルの違いはな...
-
Subversionのリポジトリの削除
-
バッチを用いたフォルダの自動移動
おすすめ情報