ホームページ >バックエンド開発 >PHPチュートリアル >インターフェースの表示が文字化けしてしまうのですが、どうすれば解決できますか?
インターフェイスに文字化けが表示される
私のクエリ ステートメントは次のとおりです:
mysql_query("SET NAMES UTF8");
//配列内の要素の数が 1 の場合、単一の条件に基づいてクエリを実行します
if(count($newstr)==1){
$sql = "select * from commodity where commodity_name like '%".$newstr[0]."%' or Sale_Address like '%".$ newsstr [0]."%'order by id desc ";
}
else{
//クエリ結果セットをマージします
for($i=0;$i
}
for($j= 0 ;$j
}
$sql1=substr($sql1,0,-3); //最後の「or」を削除
$sql="select * from comodity where".$sql0.$sql1." order by id desc";
}
require_once("common/db_mysql.class.php");
$DB= new DB_MySQL;
//レコードの合計数を取得します
$DB->query($sql);
$row_count_sum = $DB->get_rows();//結果セットに記録された行数を返します
//ページごとのレコード数、デフォルト値を使用することも、値を直接指定することもできます
$row_per_page = 6;
//ページの総数
$page_count = ceil($row_count_sum/$row_per_page);
//次のいずれかを決定します最初のページまたは最後のページです
$ is_first = (1 == $page_num) ? 1 : 0;
$is_last = ($page_num == $page_count) 1 : 0;
/ /クエリ開始行位置
$start_row = ( $page_num-1) * $row_per_page;
//SQL ステートメントに制限句を追加
$sql .= "limit $start_row,$row_per_page";
//クエリを実行
$DB- >query($sql);
$res = $DB->get_rows_array();//結果セット レコードで構成される配列を返します
//Number結果セットの行数
$rows_count=count($ res);
for($i=0;$i $id=$res[$i ]['id']; //ID番号
$title=$res[$i]['commodity_name'] //タイトル
$content = $res[$i]['Sale_Address']; //Content
echo $id.$title. "**".$content."&&";
}
普通に実行すると、結果は次のようになります。大きなのはフェン・フェイフェイ**&&61ssssss**ssss&&60 ははは** 何度も何度も&&59 Mmmmmmm**mmmmmm&&
しかし、時々異常な結果が表示されることがあります: 62???**??&&61ssssss**ssss&&60???**?? ??&&59???**???&&
ブラウザの互換性を変更してみると、元に戻ることもあれば、どう変更しても動作しないこともあります。 ?この状況はコード
で処理できますか (上記のコードには 2 つのカスタム関数があります。必要だと思われる場合は再度投稿します) ご協力ありがとうございます
---- -- 解決策 --------------------
ページの先頭に #PHP を追加します header("コンテンツタイプ:text/html;charset:utf-8"); <br><font color="#e78608">------解決策----------------------</font><br>データベースのエンコーディングは何ですか? phpファイルのエンコーディングは何ですか? 通常、統合後に問題は発生しません。 <br><font color="#e78608">------解決策------------------</font><br>別の可能性もあります。編集者に質問があります。元の gb2312 を utf-8 に変更しましたか <br> <br><font color="#e78608">------解決策--------</font><br>これに遭遇しました。エクスポートして、インポートしてください (別のフレームワーク)、すべては ?????? のようになりますが、自分で追加すると、すべてが正常になります <div class="clear"></div>