」を通じて utf-8 形式を宣言します。 ; 3. 「mysql_query ("SET NAMES GBK");」を通じて、MYSQL 接続エンコーディングを設定します。"/> 」を通じて utf-8 形式を宣言します。 ; 3. 「mysql_query ("SET NAMES GBK");」を通じて、MYSQL 接続エンコーディングを設定します。">

ホームページ  >  記事  >  バックエンド開発  >  dw phpのWebページに中国語の文字化けがある場合はどうすればよいですか?

dw phpのWebページに中国語の文字化けがある場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2022-11-30 09:30:246734ブラウズ

dw PHP Web ページで文字化けする中国語の解決策: 1. タイトルのエンコーディングを UTF8 に設定します; 2. Dreamweaver を使用して新しい PHP ファイルを作成する場合、「8215d3590c8e6696249fd53a6ac7c6d1

2458c20ad8814e8d5c01cce841c2226d

dw phpのWebページに中国語の文字化けがある場合はどうすればよいですか?
3. データベース接続エンコーディング: データベース操作の実行時にデータベースにデータを送信するために使用されるエンコーディングを指します。コーディングの混乱、たとえば、MySQL の内部デフォルトは latin1 エンコーディングですが、これは、Mysql はデータを latin1 エンコーディングで保存し、他のエンコーディングで Mysql に送信されたデータは latin1 エンコーディングに変換されることを意味します。

WEB開発でコーディングがどこに関係しているのかがわかると、上記3つのコーディング設定が矛盾しているため、コード化けの原因もわかります。各種コーディングのほとんどはASCIIと互換性があるため、英語の記号が文字化けすることはありません, 漢字が文字化けしてしまいます。

一般的なエラーと解決策:

1. データベースは 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(&#39;SET NAMES UTF8&#39;);
?>

一般的に使用される 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

dw phpのWebページに中国語の文字化けがある場合はどうすればよいですか?

推奨学習: 「PHP ビデオ チュートリアル

以上がdw phpのWebページに中国語の文字化けがある場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。