3

英語以外のページ (ロシア語など) を作成するときは、header() を使用してページの文字セットを設定する必要があります (私は UTF-8 を使用します)。

header('Content-Type: text/html; charset=utf-8');

しかし、私のすべてのページには UTF-8 charset が必要です。php にデフォルトで設定するプロパティがありますか (つまり、毎回設定したくありません)。

4

4 に答える 4

1

.htaccess ファイル全体

htaccess 構成ファイル全体を見て、すべての構成オプションを見てみましょう。

Header unset Pragma
FileETag None
Header unset ETag

画像/PDF ドキュメントを 10 日間キャッシュする

<FilesMatch "\.(ico|pdf|jpg|jpeg|png|gif)$">
  Header set Cache-Control "max-age=864000, public, must-revalidate"
  Header unset Last-Modified
</FilesMatch>

html/htm/xml/txt ファイルを 2 日間キャッシュする

<FilesMatch "\.(html|htm|xml|txt|xsl)$">
  Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>
于 2013-07-29T06:48:53.690 に答える
1

.htaccess ファイルを使用してそれを行うことができます。

AddDefaultCharset UTF-8

もう少し堅牢なものが必要な場合は、特定のファイル タイプのみにこの文字セット タイプを指定できます。

<FilesMatch ".(htm|html|css|js)$">
    AddDefaultCharset UTF-8
</FilesMatch>

他の方法については、この記事も参照してください: http://www.askapache.com/htaccess/setting-charset-in-htaccess.html

于 2013-07-29T06:45:08.933 に答える
1

デフォルトの文字セットを設定する define() を使用できます。

PHP ドキュメントからhttp://www.php.net/manual/en/regexp.reference.unicode.php

$text = '';//some russian content
define('CHARSET', preg_match( '/[\p{Cyrillic}]/u', $text) ? 'windows-1251' : 'utf-8');// or fetch charset from DB some other resource
header('Content-Type: text/html; charset='.CHARSET);
于 2013-07-29T06:49:13.507 に答える
-1

あなたの問題はPHPではあまりありませんでした。httpd が正しく設定されていません (つまり、多くのディストリビューションでは、Apache はデフォルトで にAddDefaultCharset設定されていました。Latin1

于 2013-07-29T06:44:18.273 に答える