ホームページ バックエンド開発 PHPの問題 Apache PHPが文字化けした場合はどうすればよいですか?

Apache PHPが文字化けした場合はどうすればよいですか?

Jul 06, 2020 am 10:45 AM
apache php

Apache php の文字化けコードの解決策: まず、「php.ini」内のコードをコメント アウトし、次にホーム ディレクトリの言語を「AddDefaultCharset utf-8」に変更し、次に必要なフォルダーのエンコード方法を変更します。最後にApacheを再起動するだけです。

Apache PHPが文字化けした場合はどうすればよいですか?

#PHP 表示の文字化けと Apache の内部エンコードの問題の解決策

エンコードの問題

PHPのデフォルトエンコードはutf-8ですが、テスト中はhtmlコードのメタタグを書かない都合上、文字化けは発生しません

E:\OpenStudy\www\CSphp
ログイン後にコピー

そして私がダウンロードしたヘルプドキュメント 電子データの HTML バージョンには gb2312 の設定が必要です

E:\OpenStudy\www\Electronic Books
ログイン後にコピー

サーバーの設定を開始するとき、PHP は誰もが推奨する utf-8 エンコード方式を使用します

[php.ini]
default_charset = "UTF-8"
ログイン後にコピー

サーバー ルート ディレクトリ:

E:\OpenStudy\www
ログイン後にコピー

参照すべき関連情報

AddDefaultCharset 指令
说   明 当应答内容是text/plain或text/html时,在HTTP应答头中加入的默认字符集
语   法 AddDefaultCharset On|Off|charset
默认值 AddDefaultCharset Off
作用域 server config, virtual host, directory, .htaccess
覆盖项 FileInfo
状   态 核心(C)
模   块 core
ログイン後にコピー

応答コンテンツが text/plain または text/html である場合に限り、このコマンドはHTTP 応答ヘッダーのデフォルト値の文字セット。理論的には、これはドキュメント本文の タグで指定された文字セットをオーバーライドしますが、実際の動作は通常、ユーザーのブラウザ設定によって異なります。 AddDefaultCharset Off は、この機能を無効にします。 AddDefaultCharset On は、Apache の内部デフォルト文字セット、iso-8859-1 を有効にします。 IANA 登録文字セット名の 1 つから別の文字セットを使用するように指定することもできます。例:

AddDefaultCharset utf-8
ログイン後にコピー

AddDefaultCharset は、次の状況でのみ使用してください。すべてのテキスト リソースが同じ特定の文字セットを使用しており、それらの文字セットを個別にマークするのは非常に面倒です。そのような例の 1 つは、動的コンテンツ (従来の CGI スクリプトなど) を含むリソースに文字セット パラメーターを追加することです。これは、ユーザーが指定したデータを出力に含めることにより、クロスサイト スクリプティング攻撃につながる可能性があります。ただし、注意してください: デフォルトの文字セットを設定するとブラウザの自動文字セット検出機能が無効になるため、より良い解決策はこれらのスクリプトを変更または削除することです。

AddCharset 指令
说明 在给定的文件扩展名与特定的字符集之间建立映射
语法 AddCharset charset extension [extension] ...
作用域 server config, virtual host, directory, .htaccess
覆盖项 FileInfo
状态 基本(B)
模块 mod_mime
ログイン後にコピー

AddCharset ディレクティブは、特定のファイル拡張子と特定の文字セットの間のマッピングを確立します。 charset は、拡張子に拡張子を付けたファイルの MIME 文字セット パラメータです。このマッピング関係は、既存のすべてのマッピング関係に強制的に追加され、既存のすべての拡張子拡張子マッピングが上書きされます。

AddLanguage ja .ja
AddCharset EUC-JP .euc
AddCharset ISO-2022-JP .jis
AddCharset SHIFT_JIS .sjis
ログイン後にコピー

上記の定義により、文書xxxx.ja.jisは文字セットISO-2022-JPを使用した日本語文書とみなされます(文書xxxx.jis.jaも同様)。 AddCharset ディレクティブは、ドキュメントを正しく翻訳して表示できるようにクライアントにドキュメントの文字セット エンコーディングを通知することに加えて、コンテンツ ネゴシエーション (ユーザーの設定情報に基づいてユーザーに返す複数のドキュメントの中から 1 つを選択する) にも使用されます。 )。

<Directory> 指令
说   明 封装一组指令,使之仅对文件空间中的某个目录及其子目录生效
语   法 <Directory directory-path> ... </Directory>
作用域 server config, virtual host
状   态 核心(C)
模   块 core
ログイン後にコピー

は、特定のディレクトリとそのサブディレクトリにのみ有効となるように一連の命令をカプセル化するために使用されます。 「ディレクトリ」スコープで使用できる任意のディレクティブを使用できます。 Directory-path には、ディレクトリへのフルパス、または Unix シェル一致構文を含むワイルドカード文字列を指定できます。ワイルドカード文字列では、「?」は任意の 1 文字に一致し、「*」は任意の文字のシーケンスに一致します。 「[]」を使用して文字範囲を決定することもできます。上記のワイルドカード文字はいずれも、「/」文字と一致することはできません。したがって、 は /home/user/public_html と一致しませんが、 は正しく一致します。例:

<Directory /usr/local/httpd/htdocs> 
  Options Indexes FollowSymLinks 
</Directory>
ログイン後にコピー

ディレクトリ パス パラメータを使用する場合は注意してください。これらのパラメータは、Apache がファイルにアクセスするために使用するファイル システム パスと一致している必要があります。特定の に割り当てられたディレクティブは、別のシンボリック リンクを通じて生成されたパスなど、別のパスによって指定された同じディレクトリ ファイルに対しては有効になりません。

解決策

1. php.ini のコードをコメントアウトします

[php.ini]
;default_charset = "UTF-8"
ログイン後にコピー

2. ホーム ディレクトリの言語を

AddDefaultCharset  utf-8
ログイン後にコピー
# # に変更します#必要なフォルダーのエンコード方法を変更します [E:/OpenStudy/www/Electronic Books]

<Directory "E:/OpenStudy/www/Electronic Books">
  AddDefaultCharset gb2312
</Directory>
ログイン後にコピー

変更が完了し、Apache を再起動すれば完了です

関連知識の詳細については、こちらをご覧ください。

PHP 中国語 Web サイト

にアクセスしてください。

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

ApacheでCGIディレクトリを設定する方法 ApacheでCGIディレクトリを設定する方法 Apr 13, 2025 pm 01:18 PM

ApacheでCGIディレクトリを設定するには、次の手順を実行する必要があります。「CGI-Bin」などのCGIディレクトリを作成し、Apacheの書き込み許可を付与します。 Apache構成ファイルに「Scriptalias」ディレクティブブロックを追加して、CGIディレクトリを「/cgi-bin」URLにマッピングします。 Apacheを再起動します。

PHPの永続的な関連性:それはまだ生きていますか? PHPの永続的な関連性:それはまだ生きていますか? Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPの目的:動的なWebサイトの構築 PHPの目的:動的なWebサイトの構築 Apr 15, 2025 am 12:18 AM

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

Apache80ポートが占有されている場合はどうすればよいですか Apache80ポートが占有されている場合はどうすればよいですか Apr 13, 2025 pm 01:24 PM

Apache 80ポートが占有されている場合、ソリューションは次のとおりです。ポートを占有するプロセスを見つけて閉じます。ファイアウォールの設定を確認して、Apacheがブロックされていないことを確認してください。上記の方法が機能しない場合は、Apacheを再構成して別のポートを使用してください。 Apacheサービスを再起動します。

Apacheのデータベースに接続する方法 Apacheのデータベースに接続する方法 Apr 13, 2025 pm 01:03 PM

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

Apacheを始める方法 Apacheを始める方法 Apr 13, 2025 pm 01:06 PM

Apacheを開始する手順は次のとおりです。Apache(コマンド:sudo apt-get install apache2または公式Webサイトからダウンロード)をインストールします(linux:linux:sudo systemctl start apache2; windows:apache2.4 "serviceを右クリックして「開始」を右クリック) (オプション、Linux:Sudo SystemCtl

See all articles