私はホスティング会社を使用しており、ファイルindex.html
が存在しない場合、デフォルトのエンコードとしてiso-8859-1を使用する場合、ディレクトリ内のファイルをリストします。
サーバーがApacheの場合、代わりにデフォルトとしてUTF-8を設定する方法はありますか?
更新:さらに、実際にHTML 3.2のDOCTYPEを使用しており、文字セットがまったくないことがわかったため、エンコードが設定されていません。しかし、UTF-8を使用するように変更する方法はありますか?
Httpd.confで追加(または既に存在する場合は変更):
AddDefaultCharset utf-8
これを.htaccess
に追加します。
IndexOptions +Charset=UTF-8
または、管理者権限がある場合は、httpd.conf
を編集して追加することでグローバルに設定できます。
AddDefaultCharset UTF-8
(.htaccess
でもAddDefaultCharset
を使用できますが、Apacheが生成するディレクトリリストには影響しません。)
AddDefaultCharset Directive 、 AddCharset Directive 、および この記事 を参照してください。
AddDefaultCharset utf-8
しかし、私は時々漢字を使わなければなりません。以前は、中国語の文字をUnicodeコードに変換し、
&#
ハックを使用してドキュメントに含めました。ただし、数文字のページにのみ役立ちます。より良い方法があります:ファイル名の文字セット情報をエンコードすると、Apacheはそれに基づいて適切なエンコードヘッダーを出力します。これは、confファイルの
AddCharset
行(下の行など)のおかげです。
conf/httpd.conf
:
AddCharset UTF-8 .utf8
したがって、名前が
.html.utf8
で終わるファイルがある場合、ApacheはページをUTF-8でエンコードされているように提供し、それに応じてヘッダーに適切な文字エンコードディレクティブをダンプします。
AddDefaultCharset UTF-8
を/etc/Apache2/conf.d/charset
に配置します。実際、すでに存在しています。直前の#
を削除して、コメントを外すだけです。
.htaccessに次の行を追加します。
AddCharset utf-8 .html .css .php .txt .js
これは、サーバーのconfファイルにアクセスできないユーザー向けです。他の試みが失敗したときに試すことはもう1つです。
.htaccessの使用に関するパフォーマンスの問題に関しては、これを見たことはありません。私の典型的なページ読み込み時間は.htaccessの有無にかかわらず150-200 mSです
ページが正しくレンダリングされない場合のパフォーマンスはどれほど優れていますか。ほとんどの共有サーバーは、文字セットを追加するのに適した設定ファイルへのユーザーアクセスを許可しません。
Apache構成(httpd.conf)にアクセスできるかどうかはわかりませんが、AddDefaultCharsetディレクティブを設定できるはずです。見る:
http://httpd.Apache.org/docs/2.0/mod/core.html
Mod_mime.cモジュールを探し、以下が設定されていることを確認します。
AddDefaultCharset utf-8
または同等のApache 1.xのドキュメント( http://httpd.Apache.org/docs/1.3/mod/core.html#adddefaultcharset )。
ただし、これは「応答のコンテンツタイプがtext/plainまたはtext/html」の場合にのみ機能します。
また、ページに文字セットが設定されていることも確認する必要があります。詳細はこちらをご覧ください:
これはテストされていませんが、おそらく動作します。
.htaccessファイルに次を入力します。
<Files ~ "\.html?$">
Header set Content-Type "text/html; charset=utf-8"
</Files>
ただし、これにはサーバー上のmod_headersが必要です。
完全を期すために、UbuntuのApache2では、conf-availableのcharset.confにデフォルトの文字セットがあります。
行のコメントを解除します
AddDefaultCharset UTF-8
すべてのHTMLファイルがUTF-8であり、コンテンツタイプのメタタグがない場合、両方のディレクティブを追加することで、Apache 2.4によって送信されるこれらのファイルに必要なデフォルトのみを設定できました。
AddLanguage ru .html
AddCharset UTF-8 .html
Utf-8に長いファイル名がある場合のヒント:デフォルトでは20バイトに短縮されるため、最後の文字が「半分にカット」されて正しく認識されない場合があります。次に、以下を設定することができます。
IndexOptions Charset=UTF-8 NameWidth=*
NameWidth
を設定すると、ファイル名が短くなり、適切に表示されて読みやすくなります。
他のユーザーが既に言及したように、これはhttpd.conf
またはApache2.conf
(管理者権限がある場合)または.htaccess
(ない場合)のいずれかに追加する必要があります。
空のままにしてください:'default_charset' in WHM :::::: default_charset =''
追伸-WHM go --------)ホーム"サービス構成"PHP構成エディター----)[詳細モード]をクリックします----) 'default_charset'を見つけて空白のままにします----ただ何もしません、utf8ではなく、ISOではありません