」を通じて utf-8 形式を宣言します。 ; 3. 「mysql_query ("SET NAMES GBK");」を通じて、MYSQL 接続エンコーディングを設定します。"/> 」を通じて utf-8 形式を宣言します。 ; 3. 「mysql_query ("SET NAMES GBK");」を通じて、MYSQL 接続エンコーディングを設定します。">
dw PHP Web ページで文字化けする中国語の解決策: 1. タイトルのエンコーディングを UTF8 に設定します; 2. Dreamweaver を使用して新しい PHP ファイルを作成する場合、「8215d3590c8e6696249fd53a6ac7c6d1
3. データベース接続エンコーディング: データベース操作の実行時にデータベースにデータを送信するために使用されるエンコーディングを指します。コーディングの混乱、たとえば、MySQL の内部デフォルトは latin1 エンコーディングですが、これは、Mysql はデータを latin1 エンコーディングで保存し、他のエンコーディングで Mysql に送信されたデータは latin1 エンコーディングに変換されることを意味します。 WEB開発でコーディングがどこに関係しているのかがわかると、上記3つのコーディング設定が矛盾しているため、コード化けの原因もわかります。各種コーディングのほとんどはASCIIと互換性があるため、英語の記号が文字化けすることはありません, 漢字が文字化けしてしまいます。 一般的なエラーと解決策:
2458c20ad8814e8d5c01cce841c2226d1. データベースは UTF8 エンコーディングを使用しており、ページ宣言エンコーディングは GB2312 です。これが文字化けの最も一般的な原因です。
現時点では、PHP スクリプト内の直接 SELECT データが文字化けします。クエリを実行する前にこれを使用する必要があります: mysql_query("SET NAMES GBK"); MYSQL 接続エンコーディングを設定して、ページが確実に宣言エンコーディングはここでの設定と一致しています 指定された接続エンコーディングは一致しています (GBK は GB2312 の拡張です)。ページが UTF-8 エンコードされている場合は、次を使用できます: mysql_query("SET NAMES UTF8");
PHP エンコード設定
PHP コードの最初の文を書き込みます:<?php header("Content-type:text/html;charset=utf-8"); ?>php.ini ファイルを変更します
「/etc/php5/apache2/php.ini」を変更し、
default_charset = "iso-8859-1"をdefault_charset = "utf-8"に変更します
Mysql エンコード設定
<?php mysql_query('SET NAMES UTF8'); ?>一般的に使用される UTF-8 ではなく、UTF8 であることに注意してください。ページ宣言のエンコーディングがデータベースの内部エンコーディングと一致している場合は、接続エンコーディングを設定する必要はありません。
MYSQL のデータ入出力は上記よりも複雑です。MYSQL 設定ファイル my.ini には 2 つのデフォルトのエンコーディングが定義されており、[client] と [ のdefault-character-set です。 mysqld].default-character-set は、デフォルトでクライアント接続とデータベースが内部的に使用するエンコーディングを設定するために使用されます。上記で指定したエンコーディングは、実際には、MYSQL クライアントがサーバーに接続するときのコマンド ライン パラメーターcharacter_set_client であり、デフォルトのエンコーディングを使用する代わりに、受信したクライアント データのエンコーディングを MYSQL サーバーに伝えます。
前述の内容に基づいて、データのクエリ/変更/追加を行う前に、データベース コーディングを追加する必要もあります。
2. ページ宣言のエンコーディングがファイル自体のエンコーディングと一致していません。エンコーディングが一致しないと、アーティストがページを作成するときにブラウザに表示される内容が文字化けしてしまうため、これはめったに起こりません。多くの場合、リリース後にいくつかの軽微なバグを修正し、間違ったエンコーディングでページを開いて保存することが原因で発生します。または、CuteFTP などの FTP ソフトウェアを使用してオンラインでファイルを直接変更すると、ソフトウェアのエンコード設定が正しくないため、間違ったエンコードが変換されます。
3. バーチャルホストをレンタルする際、上記3つのエンコードが正しく設定されている場合でも文字化けが発生する場合があります。たとえば、Web ページが GB2312 でエンコードされている場合、IE などのブラウザで開いたときに常に UTF-8 として認識されます。Web ページの HEAD にはすでに GB2312 と記載されています。ブラウザのエンコードを手動で GB2312 に変更した後、 、ページは正常に表示されます。その理由は、サーバー Apache がサーバーのグローバルなデフォルト エンコーディングを設定し、httpd.conf に AddDefaultCharset UTF-8 を追加するためです。このとき、サーバーはまずHTTPヘッダーをブラウザーに送信しますが、その優先度はページ内で宣言されているエンコーディングよりも高いため、当然ブラウザーは誤認識してしまいます。解決策は 2 つあり、管理者は独自の仮想マシンの構成ファイルに AddDefaultCharset GB2312 を追加してグローバル構成をオーバーライドするか、独自のディレクトリの .htaccess で構成する必要があります。
概要: PHP で中国語の文字化けコードを解決するには、ページで宣言されているエンコーディングをデータベースの内部エンコーディングと一致させることが最も早い解決策です。データベースの内部エンコーディング、接続エンコーディングを設定、mysql_query ("SET NAMES XXX "); XXX は接続コードです。 mysql_query('SET NAMES UTF8'); など; [2]最後に、中国語が正常に表示されます:
76c82f278ac045591c9159d381de2c57 f2fff6a208c3e290698f287c1c0e7a53 93f0f5c25f18dab9d176bd4f6de5d30e a80eb7cbb6fff8b0ff70bae37074b813 b2386ffb911b14667cb8f0f91ea547a7中文6e916e0f7d1e588d4f442bf645aedb2f 9c3bca370b5104690d9ef395f2c5f8d1 6c04bd5ca3fcae76e30b72ad730ca86d 4a249f0d628e2318394fd9b75b4636b1中文473f0a7621bec819994bb5020d29372a 13f8ba25135b9b670f5fc69a5ab97123推奨学習: 「PHP ビデオ チュートリアル 」
以上がdw phpのWebページに中国語の文字化けがある場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。