2012-05-09 8 views
1
<html> 
    <head> 
     <title>тест</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

私はメタタグを設定しましたが、ブラウザ(Chrome)を開くたびにツール - >エンコーディングに行き、UTF-8でエンコーディングを設定する必要がありますそれを機能させる。ブラウザが適切なUTF-8を表示するようにこの手順を回避する方法はありますか?UTF-8のエンコーディングは動作しません

+0

ページのURLを投稿してください。これにより、HTTPヘッダーが表示されます。 –

答えて

6

お客様のウェブサーバーはおそらくcharsetContent-Typeヘッダーを送信している可能性があります。これは、お客様の<meta>タグよりも優先されます。 curl(必須* nixのシステム)を使用して、コマンドラインでこれを確認:応答の冒頭にHTTPヘッダで

curl -i http://example.com/yourpage.php 

ルックとContent-Typeヘッダを見つけます。

あなたはいくつかの方法でこれを解決することができます

  1. は、適切な文字セットを送信するために(私は、Apacheを推測している)Webサーバーを構成します。 Apache docs for AddDefaultCharsetを参照してください。

  2. header()機能を使用して、スクリプト内のちょうどContent-Typeヘッダーを設定します。

    ただし、他の出力がブラウザに送られる前にこの呼び出しを入れてください。さもなければ、PHPがチョークします。

+0

ここにはどのような解決策がありますか? – fish40

+0

@ fish40私は2つの可能性のある修正で自分の答えを更新しました。 – Asaph

1

正しい順序は

<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title>тест</title> 

はまた、PHPコード上の他の出力の前に含まれ、さらにはembedd htmlの前にされています

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

違いはありません。これは良い習慣ですが、現代のブラウザはどんな順序でも許容します。 – Asaph

関連する問題