php がデータベース コードを読み取る際の文字化けの解決策: 1. ファイルのエンコーディングを変更する; 2. HTML コードの HEAD でエンコーディングを宣言する; 3. データベース接続のエンコーディングを変更する; 4. ページ宣言のエンコーディングとデータベース接続を設定するエンコーディングを一貫性のあるものにします。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 5.6。この方法は、すべてのブランドのコンピューターに適しています。
推奨: 「PHP ビデオ チュートリアル 」
php データベースが文字化けを読み取り、その理由を説明します
一般的に、文字化けとはこれには 2 つの理由があります。1 つ目は、エンコード (文字セット) 設定が間違っているため、ブラウザが間違ったエンコードで解析し、画面いっぱいに乱雑な「天国の本」が表示されることです。2 つ目は、ファイルがたとえば、テキスト ファイルは元々 GB2312 でエンコードされていましたが、UTF-8 エンコードで開かれて保存されました。上記の文字化けコードの問題を解決するには、まず開発のどの側面にエンコーディングが関係しているかを知る必要があります。
1. ファイル エンコーディング: ページ ファイル (.html、.php など) のエンコーディングを指します。それ自体は保存されます。 Notepad と Dreamweaver では、ページを開くときにファイルのエンコーディングが自動的に認識されるため、問題は少なくなります。ただし、ZendStudio はエンコードを自動的に認識しません。環境設定の設定に従って特定のエンコードでファイルを開くだけです。作業中に誤って間違ったエンコードでファイルを開くと、保存した瞬間に文字化けが表示されます。変更を加えた後です。
2. ページ宣言のエンコーディング: HTML コードの HEAD では、「meta http-equiv="Content-Type" content="text/html; charset="XXX" /」を使用できます (この文は必ず「タイトル」の前に記述されるエンコーディング
3. データベース接続エンコーディング: データベース操作を実行するときにデータベースにデータを送信するために使用されるエンコーディングを指します。データベース自体のエンコーディングと混同されます。たとえば、MySQL の内部デフォルトは laTIn1 エンコーディングです。つまり、MySQL はデータを laTIn1 エンコーディングで保存し、他のエンコーディングで Mysql に送信されたデータは latin1 エンコーディングに変換されます。
# WEB 開発でエンコーディングがどこに関係するのかを知っていれば、コードが文字化けする理由がわかるでしょう: 上記 3 つのエンコーディング設定が矛盾しているため、各種エンコーディングのほとんどは ASCII と互換性があるため、英語の記号は表示されず、中国語の記号は表示されません 1. データベースは UTF8 エンコーディングを使用しており、ページ宣言エンコーディングは GB2312 です。これは文字化けの最も一般的な原因です。現時点では、これが文字化けの最も一般的な原因です。 , PHP スクリプト内の直接 SELECT データは文字化けします。クエリを実行する前にこれを使用する必要があります:
mysql_query(”SET NAMES GBK“); 或mysql_query(”SET NAMES GB2312“);
mysql_query(”SET NAMES UTF8“);
プログラミング ビデオをご覧ください。 !
以上がPHPがデータベースから文字化けを読み取った場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。