DBを呼び出すPHPファイルを"Shift_JIS"で作りました。
ですが、レンタルサーバーのPHP、MySQLの文字コードが"EUC-JP"との事で、
全てのファイルに読込んでいるインクルードファイルの文字コードの記述をShift_JISからEUC-JPに変更しました。
ですが、DBから呼び出してるデータは文字化けしないのですが、その他がすべて文字化けしてしまい、JavaScriptも動かない状態です。
各phpのファイルは、最後に$body で書き出す記述をしているので、
$body = mb_convert_encoding($body,"SJIS","EUC-JP");
print $body;
と実行してみてもだめでした。
どうか教えて下さい。よろしくお願い致します。
---共通インクルードファイル----
省略
//MySQL読み込み時の文字コードを設定
mysql_query("set names EUC-JP");
//データベースを選択します
mysql_select_db($DBNAME,$db);
function htmlheader($pagetitle)
{
//各ページのヘッダ部のHTMLを組み立てる
$strret = "<DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<HTML>
<HEAD>
<META http-equiv='Content-Type' content='text/html; charset=EUC-JP'>
<META http-equiv='Content-Style-Type' content='text/css'>
<TITLE>$pagetitle </TITLE>
</HEAD>
<body border='0' cellpadding='0' cellspacing='0' width='100%'>
<br>";
return $strret;
}
function htmlfooter()
{
//各ページのフッタ部のHTMLを組み立てる
$strret = "<br>
</BODY>
</HTML>";
return $strret;
}
?>
No.2ベストアンサー
- 回答日時:
>各phpのファイルは、最後に$body で書き出す記述をしているので、
>$body = mb_convert_encoding($body,"SJIS","EUC-JP");
つまりMySQLの文字コードを EUC-JP で出力して SJIS に変換して表示しているのですよね。
その場合ページの文字コードはSJISですから
<META http-equiv='Content-Type' content='text/html; charset=EUC-JP'>
ではなく
<META http-equiv='Content-Type' content='text/html; charset=Shift_JIS'>
と宣言しなければならないのではないでしょうか?
ご回答ありがとうございます。
全体をcharset=Shift_JIS'で宣言して、データベースを読み込む際にはEUC-JP、呼び出した後にひとつづつ、mb_convert_encodingでSJISに変換したら、うまくいきました。ありがとうございました。
No.1
- 回答日時:
PHPもMySQLもそれほどよく知らないので的外れだったらごめんなさい。
SJISで作ったものをEUC-JPで読み込もうとしたら文字化けするのは当然のような気がします。該当ファイルをEUC-JPで作り直したらうまくいくのではないでしょうか。この回答への補足
作ったPHPファイルの中には、インクルードファイルをSJISからEUC-JPに変えただけで動いているファイルもあるのですが・・・。
文字化けしていないPHPファイルは、最後に$body で書き出す記述をしていないものです。htmlのテーブルのなかに、<?php $data ?>と書き込んでいるタイプのものです。それは、DBから呼び出しているデータもhtmlの文字も文字化けしていません。(説明が下手で申し訳ありません)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpログファイルの文字化けにつ...
-
onedrive にexcelファイルをア...
-
phpでPEAR::DBを使っているので...
-
フォントの色を変えるには?
-
php5-extensions を make でき...
-
PHPのみでの背景色は指定できる...
-
リンク先を隠す方法はないでし...
-
index.phpって何ですか? 具体...
-
トランザクションが原因?DBに...
-
CFileDialogの最初のディレクト...
-
2つの画像ファイルが異なるファ...
-
バッチを用いたフォルダの自動移動
-
パースエラーとは?
-
PHPで新しいウインドウで開く命...
-
mysql複数レコードをまとめて削...
-
フォームで戻った際に入力済み...
-
FTPコマンドでディレクトリごと...
-
これは例外処理でしょうか?
-
PHPのif文でその処理を途中で抜...
-
index.phpに入るには、どうすれ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーバーにアップすると文字化...
-
PHPExcelバッファへの書き込み...
-
<meta charset="utf-8"><!-- 文...
-
ファイルの文字コードを調べる...
-
HTTPヘッダはメタタグにも記述...
-
mysql→EUC-JP、php→UTF-8の時の...
-
韓国語のファイル名
-
フォームからPOSTされた値をXML...
-
PHPで「®」や特殊文字のエスケープ
-
発生した文字化けに対する対処
-
phpログファイルの文字化けにつ...
-
緊急です!文字コードの設定ミ...
-
[HTML-PHP]あるPHPファイルだけ...
-
phpで動的タイトル
-
EclEmmaレポートのエクスポート...
-
ノートパッドでの文字化けについて
-
特定ファイルのみ文字コード変換
-
csvファイル出力時に文字化けし...
-
PHPのif文でその処理を途中で抜...
-
onedrive にexcelファイルをア...
おすすめ情報