文字コードをEUCからSHIFT-JISに変更しました。
データベースの設定で今まで文字コードをEUCに設定していましたが、一般的にはSHIFT-JISを使用した方が良いというアドバイスを受けて、今回からSHIFT-JISに変更することにしました。
データベースの設定でSHIFT-JISに変更し、
各テーブルのデータもSHIFT-JISで文字化けが起こらないようにエンコーディングもしました。
そして、各phpファイルの保存形式をEUCにしていたものを全てSHIFT-JISとして保存もしました。しかし、ページによっては文字化けがまだ起こっていたり、表示すらできないページもあります。
きちんと表示されているページもありますが。
何故、このような差が起こるのでしょうか?
下記は、ページが表示されないphpファイルのソースです。
ファイルをEUC形式で保存すると画面は崩れていますが表示されます。
しかし、SHIFT-JIS形式で保存すると真っ白になります。
ちなみにソースは、適当なものなのでその部分はスルーしてください。
いろいろ試みたのですが解決できず、本当に困っています。
知恵をお貸し下さい。
よろしくお願い致します。
<?php
echo <<< HTML
<html lang="ja">
<head>
<style type="text/css">
<!--
div {
border: 1px solid #77aaff;
background-color: #ccccff;
text-align: center;
font: italic 0.8em Verdana;
}
-->
</style>
<script type="text/javascript">
<!--
var ele, max, count = 0;
var widthList = new Array();
function getGraph() {
ele = document.getElementsByTagName("div");
if (!ele) return;
var tmp = new Array();
for (var i = 0; i < ele.length; i++) {
tmp[i] = widthList[i] = ele.item(i).style.width.replace("px", "");
}
// max = tmp.sort(function(a, b) { return(b - a); })[0];
max = 10000;
(widthList) && graph();
}
function graph() {
for (var i = 0; i < widthList.length; i++) {
var now = (count >= widthList[i]) ? widthList[i] : count;
ele.item(i).innerHTML = ele.item(i).style.width = now + "px";
ele.item(i).innerHTML = ele.item(i).style.width.replace("px", "P");
}
if (count < max) setTimeout("graph();", 20); // グラフを表示する速さ
count += 1; // グラフの増加量 (px)
}
// -->
</script>
</head>
<body onload="getGraph();">
<form action="../AAA/AAA.php" method="POST" name="myFORM">
<center>
ポイントレース
</center>
<br>
<br>
<table width="15%" align="right" style="border:solid 1px #000000">
<tr>
<td>$Name さん</td>
</tr>
<tr>
<td>総ポイント</td><td>$TotalAMT</td>
</tr>
<tr>
<td>今月のポイント</td><td>$Mpoint</td>
</tr>
</table>
<br>
<br>
<br>
<br>
<table border="2" width="100%">
<tr>
<td>
<table border="0">
<tr>
<td>
HTML;
?>
お礼
有難う御座います。 EUCで保存されているスクリプトを shift_jisに変更して上書きをしても稼動するのか心配でしたが、問題無く稼動しました^^; 説明不測ですみません・゜・(ノω`)・゜・。