145

ホスティング会社を使用していますが、ファイルが存在しない場合、ディレクトリ内のファイルが一覧表示されますindex.html。デフォルトのエンコーディングとしてISO 8859-1を使用します。

サーバーが Apache の場合、代わりに UTF-8 をデフォルトとして設定する方法はありますか?

実際には HTML 3.2 の DOCTYPE を使用していることがわかりましたが、charsetまったくないため、エンコーディングを設定していません。しかし、UTF-8を使用するように変更する方法はありますか?

4

13 に答える 13

183

httpd.conf に以下を追加します (既に存在する場合は変更します):

AddDefaultCharset utf-8
于 2009-05-27T04:11:25.020 に答える
58

これをあなたに追加してください.htaccess

IndexOptions +Charset=UTF-8

または、管理者権限を持っている場合は、次を編集httpd.confおよび追加してグローバルに設定できます。

AddDefaultCharset UTF-8

( AddDefaultCharsetin.htaccessも使用できますが、Apache によって生成されたディレクトリ リストには影響しません。)

于 2012-06-07T06:44:40.787 に答える
30

AddDefaultCharset ディレクティブAddCharset ディレクティブ、およびこの記事を参照してください。

AddDefaultCharset utf-8

しかし、私は時々漢字を使わなければなりません。以前、漢字を Unicode コードに変換し、 &#ハックを使用してドキュメントに含めました。ただし、数文字のページにのみ役立ちます。

これを行うためのより良い方法があります。ファイル名の文字セット情報をエンコードすると、apache はそれに基づいて適切なエンコード ヘッダーを出力します。AddCharsetこれは、以下の行などの conf ファイル内の行のおかげで可能 です。

conf/httpd.conf:

AddCharset UTF-8 .utf8

そのため、名前が.html.utf8.

于 2009-05-27T04:11:01.993 に答える
25

ファイル.htaccessに、次の行を追加します。

AddCharset utf-8 .html .css .php .txt .js

これは、サーバーの構成ファイルにアクセスできないユーザー向けです。他の試行が失敗した場合に試行するのは、もう 1 つのことです。

ファイル.htaccessの使用に関するパフォーマンスの問題に関しては、私はこれを見たことがありません。私の典型的なページ読み込み時間は、ファイル.htaccessの有無にかかわらず 150 ~ 200 ミリ秒です。

ページが正しくレンダリングされない場合、パフォーマンスに何のメリットがあるでしょうか? ほとんどの共有サーバーは、文字セットを追加するのに適した場所である構成ファイルへのユーザー アクセスを許可していません。

于 2014-08-12T03:09:23.727 に答える
25

Ubuntu 12.04 では、 の行をコメント解除するだけで十分AddDefaultCharset UTF-8です/etc/apache2/conf.d/charset。アップストリームの Apache を使用している場合、ファイルは httpd.conf と呼ばれる場合があり、その行を挿入する必要がある場合があります。

于 2013-03-06T16:49:40.583 に答える
12

完全を期すために、Ubuntu 上の Apache2 では、conf-available の charset.conf にデフォルトの文字セットがあります。

行のコメントを外します

AddDefaultCharset UTF-8
于 2014-08-26T00:27:34.170 に答える
11

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」の場合にのみ機能します。

また、ページにも文字セットが設定されていることを確認する必要があります。詳細については、これを参照してください。

http://www.w3.org/TR/REC-html40/charset.html

于 2009-05-27T04:12:27.953 に答える
8

これはテストされていませんが、おそらく動作します。

.htaccessファイルに次を追加します。

<Files ~ "\.html?$">  
     Header set Content-Type "text/html; charset=utf-8"
</Files>

ただし、これにはサーバーにmod_headersが必要です。

于 2009-05-27T04:09:46.170 に答える
4

UTF-8 形式の長いファイル名がある場合のヒント: デフォルトでは 20 バイトに短縮されるため、最後の文字が「半分にカット」されて正しく認識されないことがあります。次に、次のように設定できます。

IndexOptions Charset=UTF-8 NameWidth=*

NameWidthを設定すると、ファイル名が短縮されなくなり、適切に表示されて読みやすくなります。

他のユーザーが既に述べたように、これは or (管理者権限を持っている場合) または in (持っていない場合) に追加する必要がhttpd.confありapache2.confます.htaccess

于 2016-05-03T20:40:01.417 に答える
3

すべての HTML ファイルが UTF-8 であり、コンテンツ タイプのメタ タグがない場合、両方のディレクティブを追加することで、Apache 2.4 によって送信されるこれらのファイルに必要なデフォルトを設定することしかできませんでした。

AddLanguage ru .html
AddCharset UTF-8 .html
于 2014-12-11T07:59:55.443 に答える
2

空のままにしてください:'default_charset' in WHM :::::: default_charset =''

PS: WHM で、 [ホーム] → [サービス構成] → [ PHP 構成エディター] → [詳細モード] をクリックし、[ default_charset] を見つけて空白のままにします。UTF-8でもISOでもなく、何もありません。

于 2016-11-04T09:55:39.173 に答える