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

phpコーディング_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:45:52994ブラウズ

1. ページのエンコード
1. タグを使用してページのエンコーディングを設定します
このタグの目的は、クライアントのブラウザがページを表示するために使用する文字セット エンコーディング (xxx は GB2312、GBK、UTF-8 (MySQL の UTF8 とは異なります) など) を宣言することです。したがって、ほとんどのページはこのメソッドを使用して、このページを表示するときに使用するエンコーディングをブラウザーに指示し、エンコーディング エラーや文字化けを回避できます。しかし、場合によっては、この文がどの 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.デフォルト文字セットを追加します
Apache ルート ディレクトリの conf フォルダには、Apache 設定ドキュメント全体である httpd.conf があります。
テキスト エディタで 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("コンテンツタイプ:text/html; charset=xxx")
AddDefaultCharset xxx
Web プログラマーの場合は、各ページにヘッダー ("content-type: text/html; charset=xxx") を追加して、ページがどのサーバーでも正しく表示され、移植性が高いことを確認してください。
AddDefaultCharset xxx という文については、コメントするかどうかは意見の問題です。とりあえずコメントアウトしましたが、ページを書くときにサーバー上で正常に表示されるようにheader()も書く必要があります。
2. データベースのエンコード
データベースにクエリを実行する前に、PHP プログラムはまず mysql_query("SET NAMES xxxx"); を実行します。ここで、xxxx は Web ページのエンコーディング (charset=xxxx)、Web ページで charset=utf8 の場合、xxxx=utf8 です。 Web ページでは =gb2312、xxxx=gb2312 となります。ほとんどすべての WEB プログラムには、データベースに接続するための共通のコードがあり、このファイルに mysql_query (「set names」) を追加するだけです。
SET NAMES は、クライアントから送信された SQL ステートメントで使用されている文字セットを表示します。したがって、SET NAMES 'utf-8' ステートメントはサーバーに、「このクライアントからの今後の情報では文字セット utf-8 が使用される」ことを伝えます。また、サーバーがクライアントに送り返す結果の文字セットも指定します。 (たとえば、SELECT ステートメントを使用する場合、列の値にどの文字セットが使用されるかを示します。)

著者「ダンサーブログ」

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478632.html技術記事 1. ページ エンコーディング 1. META http-equiv=content-type content=text/html; を使用して、ページ エンコーディングを設定します。このタグの機能は、クライアントのブラウザが使用する文字セットを宣言することです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。