dw PHP Web ページで文字化けする中国語の解決策: 1. タイトルのエンコーディングを UTF8 に設定します; 2. Dreamweaver を使用して新しい PHP ファイルを作成する場合、「
gt;" -8; 3. 「mysql_query("SET NAMES GBK");」を通じて MYSQL 接続エンコーディングを設定します。
このチュートリアルの動作環境: Windows 7 システム、Dreamweaver バージョン 8、Dell G3 コンピューター。
dw PHP Web ページに中国語の文字化けがある場合はどうすればよいですか?
PHP ファイル プレビュー インターフェイスを実行している Dreamweaver で中国語の文字化けの問題を解決する方法
Web サイト開発を行うには、多くの国でさまざまな問題に対処する必要があります。言語に関しては、中国語と英語が混在することがよくあります。 Dreamweaver を使用して PHP コードを作成して実行すると、中国語のプレビュー ウィンドウで文字化けが表示されることがありますが、英語は正常に表示されます。
1. ファイル エンコーディング: ページ ファイル (.html、.php など) 自体が保存されるエンコーディングを指します。 Notepad と Dreamweaver では、ページを開くときにファイルのエンコーディングが自動的に認識されるため、問題は少なくなります。ただし、ZendStudio はエンコードを自動的に認識するわけではなく、特定のエンコードでしかファイルを開かないため、作業中に誤って間違ったエンコードでファイルを開き、修正して保存すると文字化けが発生します。
解決策: ページ設定、タイトル/エンコーディング、UTF8
2 に設定、ページ宣言エンコーディング:
HTML ページのエンコード設定HTML コードの HEAD を使用して、Web ページが使用するエンコードをブラウザに伝えることができます。現在、XXX は中国の Web サイト開発で主に GB2312 と UTF を使用しています。 -8 2 つのエンコーディング。 Dreamweaver を使用して新しい PHP ファイルを作成する場合は、utf-8 形式を宣言する必要があります:
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('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]
最後に、中国語が正常に表示されます:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>中文</title> </head> <body> <h1>中文</h1> <?php echo "Hello World!"; ?>
推奨学習: 「PHP ビデオ チュートリアル 」
以上がdw phpのWebページに中国語の文字化けがある場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。