ホームページ バックエンド開発 PHPチュートリアル PHP ヘッダーは、文字化けしたコードの問題やその他の文字化けしたコードの問題を解決します。

PHP ヘッダーは、文字化けしたコードの問題やその他の文字化けしたコードの問題を解決します。

Aug 08, 2016 am 09:19 AM
charset header html nbsp quot

http://www.jb51.net/article/22501.htm から転載

php ページを UTF エンコードまたは GBK エンコードとして定義するための php ヘッダー

phpページはutfエンコードされています
header("Content-type: text/html; charset=utf-8");
phpページはgbkエンコードされています
header("Content-type: text/html; charset=gb2312"); PHP ページは big5 でエンコードされます ページのホームページ
PHP ページのエンコードを実装するためのヘッダーまたはメタの使用の違い 1. ページのエンコード

1 タグ設定ページのエンコーディングを使用します
このタグの機能は、クライアントのブラウザが表示するために使用する文字セット エンコーディングを宣言することです。 page.xxx は GB2312、GBK、UTF-8 (MySQL とは異なります。MySQL は UTF8) などです。したがって、ほとんどのページはこのメソッドを使用して、このページを表示するときに使用するエンコーディングをブラウザーに指示できます。エンコードエラーが発生し、文字化けが発生します。ただし、この文は、常に同じエンコードを使用します。
は HTML 情報であり、HTML 情報がブラウザに送信されたことを示すものです。 2. ");

この関数 header() の機能は、括弧内の情報を送信することです。http ヘッダーに移動します。
括弧内の内容が記事で述べたとおりであれば、関数は基本的に タグと比較すると、文字が似ていることがわかりますが、この段落関数がある場合、ブラウザは常に xxx エンコーディングを使用することになります。次に、HTTPS ヘッダーと HTML 情報の違いについて説明します。
https ヘッダーは、HTML 情報をブラウザーに送信する前にサーバーによって送信される文字列です。 metaタグはHTML情報に属しているため、header()で送信されたコンテンツが最初にブラウザに届きます。これを言えるかどうかはわかります)。PHP ページを追加すると、header("content-type:text/html; charset=xxx") と の場合、ブラウザは前者の http ヘッダーのみを認識し、メタは認識しません。もちろん、この関数は PHP ページでのみ使用できます。
なぜ前者が認識されるのかという疑問もあります。確かに機能しますが、後者は機能しないことがあります。これが、次に Apache について説明する理由です。

Apache ルート ディレクトリの conf フォルダーには、Apache 設定全体が含まれています。
httpd.conf をテキスト エディタで開きます。行 708 (バージョンが異なる場合があります) には、AddDefaultCharset xxx が含まれています。このコード行の意味は次のとおりです。サーバー全体内の Web ページ ファイルの文字セットは、デフォルトの xxx 文字セットです。この行を使用すると、各ファイルに header("content-type:text/html;") を追加するのと同じになります。 charset=xxx")。 これで、メタ設定が utf-8 であるにもかかわらず、ブラウザが常に gb2312 を使用する理由がわかります。
header("content-type:text/html; charset=xxx ") がある場合は、変更しますデフォルトの文字セットは設定した文字セットに適用されるため、この関数は常に役立ちます。AddDefaultCharset xxx の前に「#」を追加すると、この文をコメントアウトできます。ページには header("content-type … ")、メタ タグが有効になります。
概要:
並べ替えてみましょう
header("content-type:text/html; charset=xxx")
AddDefaultCharset xxx
Web プログラマーの場合は、header(" content-type:text/html; charset=xxx ") を備えており、どのサーバーでも正しく表示でき、強力な移植性を備えています。
AddDefaultCharset xxx という文については、コメントするかどうかは意見の問題です。とりあえずコメントアウトしましたが、ページを書くときにサーバー上で正常に表示されるようにheader()も書く必要があります。
2. データベースのエンコーディング
データベースにクエリを実行する前に、PHP プログラムはまず mysql_query("SET NAMES xxxx"); を実行します。ここで、xxxx は Web ページのエンコーディング (charset=xxxx の場合) です。 Web ページの場合、xxxx =utf8、Web ページの charset=gb2312 の場合、xxxx=gb2312。 ほとんどすべての WEB プログラムには、データベースに接続するための共通のコードがあり、このファイルに次のコードを追加します。 mysql_query("set names") がうまくいきます。
SET NAMES クライアントから送信された SQL ステートメントで使用されている文字セットを示します。したがって、SET NAMES 'utf-8' ステートメントはサーバーに、「このクライアントからの今後の情報では文字セット utf-8 が使用される」ことを伝えます。また、サーバーがクライアントに送り返す結果の文字セットも指定します。 (たとえば、SELECT ステートメントを使用する場合、列の値にどの文字セットが使用されているかが示されます。)
PHP ページのエンコーディングは統一されています
MySQL データベースのエンコーディング、HTML ページのエンコーディング、PHP または HTML ファイル自体エンコーディングは一貫している必要があります。
1. MySQLデータベースのエンコーディング:データベース作成時にエンコーディングを指定します(gbk_chinese_ciなど) データテーブルの作成時、フィールドの作成時、データの挿入時にエンコーディングを指定しないでください。
データベースに接続するときにもエンコーディングがあります。データベースに接続した後、
mysql_query('SET NAMES gbk'); // gbk を utf8 などのエンコーディングに置き換えます。
2. HTML ページのエンコーディングは、次の行の設定を参照します:

3. PHP または HTML ファイル自体のエンコーディング: editplus を使用して php ファイルまたは HTML ファイルを開きます。データベースとページのエンコーディングが gbk の場合、ここでのエンコーディングは ansi を選択します。が utf-8 の場合は、こちらも utf-8 を選択してください
4. データベースとページのエンコードが gbk の場合、データは utf-8 でエンコードされていることに注意してください。
iconv('utf-8', 'gbk', $content); 5. PHP プログラムで、PHP ソース プログラムのエンコーディングを指定する行を追加できます。 header('Content-type: text/html; charset=gbk');
以上、コード文字化け問題を解決するためのPHPヘッダーやその他のコード文字化け問題を紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

See all articles