PHP で表示される MySQL の文字化けの問題 1. PHPmyAdmin を使用して MySQL データベースを操作すると、中国語の文字は正常に表示されますが、PHP の Web ページを使用して MySQL データを表示すると、すべての漢字が ? に変わります。
症状: PHPmyAdmin を使用して漢字を入力するのは正常ですが、PHP Web ページが MySQL データを表示すると、漢字が ? 記号になり、漢字の数と同じ数の ? 記号が表示されます。多くの学生が、特に最新バージョンの Appserv をインストールした後にこの問題に遭遇しています。このため、多くの学生が PHP を諦めて ASP に切り替えました。
理由: PHP Web ページには、中国語の文字を出力する文字セットを MySQL に指示するコードがありません。
★ PHP で表示される MySQL 文字化けコードの解決策: これは文字化けコードではありません。次のコードを PHP Web ページの先頭に追加して、MySQL に UTF8 エンコーディングで中国語を出力するように指示します
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><</span><span> ? mysql_query("SET NAMES UTF8"); </span><span class="tag">?></span><span> </span></span></li> <li> <span>你也可以在网页中PHP代码部分直接插入上述代码片段(即去掉两端</span><span class="tag"><</span><span> </span><span class="tag">??></span><span>号)。例如你用Dreamweaver连接数据库,那么可以在头部的连接代码 </span> </li> <li class="alt"> <span class="tag"><</span><span> ?php require_once('Connections/connmessage.php'); </span><span class="tag">?></span><span>中加入该代码使其变成 </span> </li> <li> <span class="tag"><</span><span> ? </span></li><li class="alt"><span>php require_once('Connections/connmessage.php'); </span></li><li><span>mysql_query("SET NAMES UTF8"); </span></li><li class="alt"><span class="tag">?></span><span> </span> </li> </ol>
注: Web ページのエンコードは gb2312、つまり SET NAMES GB2312 です。ただし、エディターは、Web ページのエンコーディング、MySQL データ テーブルの文字セット、および PHPmyAdmin はすべて UTF8 を使用することを強く推奨します。その理由については、このサイトの PHP チュートリアルの第 1 章、セクション 2 を参照してください。
PHPで表示されるMySQLの文字化け問題2. PHPmyAdminでデータ入力時にエラーが発生し、入力が許可されない、または文字化けが表示される
★ PHPで表示されるMySQLの文字化けの解決策:設定の問題です。 PHPmyAdmin または Appserv の最新バージョンをインストールし、PHPmyAdmin を開きます。MySQL 文字セット: UTF-8 Unicode (utf8); 新しいデータベースを作成するときは、MySQL 接続校正は utf8_unicode_ci である必要があります。また、仕上げ列に utf8_unicode_ci を選択してください。 Web ページの文字セットとして utf8 を使用することも最適です。 UTF8 は国際標準エンコーディングであり、トレンドです。 Web ページのエンコードを変更する方法については、このサイトの PHP チュートリアルの第 1 章、セクション 2 を参照してください。
PHP 3でMySQLが文字化けして表示される問題。本機で開発したMySQLデータテーブルを本機でテストしたところ正常でしたが、Webサイトスペース提供者が提供するPHPmyAdminを使用してアップロードする際に問題が発生し、アップロードができませんでした。失敗した。特に外部の PHP スペースを使用します。
★ PHP で表示される MySQL 文字化けコードの解決策: まず、Web サイトスペースプロバイダーによって提供される PHPmyAdmin 文字セット設定をチェックして、構築したデータテーブルとスペースが同じエンコーディングであることを確認します。 MySQL は海外では gb2312 をサポートしておらず、Appserv の最新バージョンでも gb2312 をサポートしていません。エンコードが統一されていないことが原因の場合は、もちろん国際標準の UTF8 を使用してデータ テーブルを再構築できます。