![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんにちは。
PHPとMySQLを使ってショッピングカートを作ろうと思ったのですが、しょっぱなから躓いてしまいました・・・。
index.htmlでメタを
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
とeuc-jpにしたのですが、サーバーにアップすると文字化けしてしまいます。
表示のエンコードで確認するとシフトーJisになっています。eucにするとちゃんと表示されるのですが、更新するとやはり文字化けします。PHP・MySQLがeucですので、困っています。
どうにか対処方法はないでしょうか?ご教授をよろしくお願いします。
No.3ベストアンサー
- 回答日時:
> eucにするとちゃんと表示されるのですが
ということですので、おそらくサーバからは正しく EUC で送られていて、ブラウザの自動判定が失敗しているのだと思います。
ブラウザで、文字コードが「自動選択(日本語)」にチェックが入っているでしょうか?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
</head>
があり、サーバから EUC で送られているなら、ほぼうまく判定してくれるのですが・・・
変な状態のスクリプトがキャッシュに入っていたりする可能性もあります。
いったんブラウザのキャッシュを削除してみたらどうでしょう?
最後にどうしてもダメなら PHP の最初にて
<?php
header( "Content-Type: text/html;charset=euc-jp");
にてヘッダを指定してみてください。
それでもダメなら
<?php
phpinfo();
?>
という phpinfo.php ファイルを作成してサーバにアップしてブラウザからアクセスすることで、サーバの設定を確認してください。
その中の
mbstring
Multibyte (Japanese) Support enabled
Directive Local Value Master Value
mbstring.detect_order auto auto
mbstring.http_input auto auto
mbstring.http_output SJIS SJIS
mbstring.internal_encoding EUC-JP EUC-JP
mbstring.substitute_character no value no value
という設定を教えてください。
ありがとうございます。
phpの最初でヘッダの指定をしたら直りました。
phpinfoでmbstringを見たのですが、
mbstring
Multibyte (Japanese) Support enabled
Directive Local Value Master Value
mbstring.detect_order auto auto
mbstring.func_overload 0 0
mbstring.http_input auto auto
mbstring.http_output no value no value
mbstring.internal_encoding EUC-JP EUC-JP
mbstring.substitute_character no value no value
となってます。
これはどういった意味なんでしょうか?
今後同じようなことが起こったときの参考にしたいので、すみませんが教えて頂けないでしょうか?
よろしくお願いします。
No.2
- 回答日時:
そのPHPを動作させているサーバの設定はどうなっていますか?
PHPは入力、内部処理、出力で別の文字コードを使用します。
入力がs_jisになっていればソースが読まれる時点で化けますし、
出力がs_jisになっていればs_jisで出力される訳ですから
文字コードを「euc-jp」と指定していれば当然化けます。
ありがとうございます。
すみません。サーバの設定はどうやってみればいいのでしょうか?
レンタルサーバなのですが、phpinfoで確認するのですか?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
body内にmetaタグを記述は問題...
-
iframe内の表示を常に最新にしたい
-
文字化けを故意に表示したい
-
POSTしたデータの文字コードがu...
-
<!DOCTYPE html>あってますか?↑
-
css ,videotタグ。ホームページ...
-
根号の書き方について
-
先日ウェブデザイン技能検定三...
-
文字化けと<iframe>の問題
-
【HTML】<title>内のコメントタ...
-
HTML・PHPの文字化け
-
HTMLからフォルダを開きたい
-
Excelで、社外秘(閲覧のみ)と...
-
Webサイトから、txtファイルを...
-
googleドライブで、PDFファイル...
-
医療画像(Windows用)をMacで...
-
HTMLページが勝手にダウンロー...
-
iPadの標準ブラウザでローカルH...
-
htmlファイルの表示が真っ白
-
リンク先からリンク元の、同じ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
css ,videotタグ。ホームページ...
-
POSTしたデータの文字コードがu...
-
body内にmetaタグを記述は問題...
-
根号の書き方について
-
文字化けを故意に表示したい
-
HTMLファイルのインクルードで...
-
先日ウェブデザイン技能検定三...
-
iframe内の表示を常に最新にしたい
-
borderでa:hover下線表示させる...
-
指定した演算を実施の結果を表...
-
ページ全体を中央に配置したい...
-
safariだけcssが反映されない
-
わざと文字化けさせるには
-
WEBページがIEだけ文字化けして...
-
html で 変数を定義できますか?
-
<!DOCTYPE html>あってますか?...
-
COLDFUSIONの文字化け
-
textareaの一行の文字数制御
-
Duolingo のソースコードの名前...
-
Aタグのmailtoでメッセージ作成...
おすすめ情報