ホームページ  >  記事  >  バックエンド開発  >  PHP Web ページのコーディングの問題_PHP チュートリアル

PHP Web ページのコーディングの問題_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:05:13739ブラウズ

Apache および PHP Web ページのコーディングの問題の分析

Apache および PHP Web ページのコーディングについて話します。 MySQL 文字セットに関する記事もあります: http://potatows.eeie.cn/?p=39
Apache エンコードに関しては、3 つのことが関係します

Apache 設定ファイル httpd.conf のタグ
header("content-type:text/html; charset=xxx") AddDefaultCharset
1. タグ
このタグには多くの機能があります。詳細については、ここをクリックしてください。
今日言いたいことは、まさに上記の形です。 について説明します。これは、この Web ページを宣言し、ブラウザでページ コンテンツ全体に xxx エンコーディングを使用させることを意味します。 GB2312、GBK、UTF-8 (UTF8 である MySQL とは異なります) などを指定できます。したがって、ほとんどのページはこのメソッドを使用して、このページを表示するときに使用するエンコーディングをブラウザーに指示し、エンコーディング エラーや文字化けを回避できます。しかし、場合によっては、この文がどの xxx であっても機能しないことがわかります。この状況については後ほど説明します。
は HTML 情報に属し、サーバーが HTML 情報をブラウザーに渡したことを示す単なるステートメントであることに注意してください。

2. header("content-type:text/html; charset=xxx");

関数 header() は、括弧内の情報を http ヘッダーに送信します。この機能の具体的な使い方については、ここをクリックしてください。
括弧内の内容が記事に記載されている通りであれば、基本的にはタグと比べてみると文字が似ていることがわかります。ただし、違いは、この機能がある場合、ブラウザは常に要求された xxx エンコーディングを使用し、決して従わないことです。そのため、この機能は非常に便利です。なぜそうなるのでしょうか?次に、HTTPS ヘッダーと HTML 情報の違いについて説明する必要があります。
引用:
https ヘッダーは、HTTP プロトコルを使用して HTML 情報をブラウザーに送信する前にサーバーによって送信される文字列です。
metaタグはhtml情報に属するため、header()で送信した内容が先にブラウザに届きますが、metaよりもheader()の方が優先される点が人気です(言っていいのかわかりませんが)。 header("content-type:text/html; charset=xxx") と の両方を持つ PHP ページを追加します。ブラウザは以前の http ヘッダーのみを認識し、メタは認識しません。もちろん、この関数は PHP ページ内でのみ使用できます。
また、前者は確実に機能するのに、後者は機能しないことがあるのはなぜでしょうか?という疑問も残ります。これが、次に Apache について話したい理由です。

3. AddDefaultCharset

Apache ルート ディレクトリの conf フォルダーには、Apache 設定ドキュメント全体 httpd.conf があります。 Apache の設定方法の詳細については、ここをクリックしてください ([url=thread-2674-1-1.html]windows[/url]、[url=thread-1381-1-1.html]linux[/url]) 。
httpd.conf をテキスト エディタで開きます (バージョンによって異なる場合があります) には、AddDefaultCharset xxx が含まれています。xxx はエンコーディング名です。このコード行の意味: サーバー全体の Web ページ ファイルの https ヘッダーの文字セットをデフォルトの xxx 文字セットに設定します。この行があることは、各ファイルにヘッダー ("content-type: text/html; charset=xxx") を追加することと同じです。これで、メタ設定が utf-8 であるにもかかわらず、ブラウザが常に gb2312 を使用する理由が理解できました。
Webページにヘッダー("content-type:text/html; charset=xxx")がある場合、デフォルトの文字セットが設定した文字セットに変更されるので、この機能は常に役に立ちます。 AddDefaultCharset xxx の前に「#」を追加し、この文をコメントアウトし、ページにヘッダー (「content-type...」) が含まれていない場合は、メタ タグが有効になります。

概要:
並べ替えてみましょう

header("content-type:text/html; charset=xxx")

AddDefaultCharset xxx

Web プログラマーの場合は、各ページにヘッダー ("content-type: text/html; charset=xxx") を追加して、どのサーバーでも正しく表示できるようにしてください。 強力な移植性。
AddDefaultCharset xxx という文に関しては、コメントするかどうかは意見の問題です。とりあえずコメントアウトしましたが、ページを書くときにheader()を書いて、別のサーバーでも正常に表示できるようにする必要があります。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/445140.html技術記事 Apache および PHP Web ページのコーディングの問題の分析 Apache および PHP Web ページのコーディングについて話しましょう。 MySQL 文字セットに関する記事もあります: http://potatows.eeie.cn/?p=39 Apache エンコーディングについては、こちらで説明します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。