2012-01-14 5 views
2

ページタイトルのUTF-8文字に問題があります これをページのタイトルに追加したい - >♫< ---(音楽記号)タイトルUTF-8 on HTML

場合によっては(Google Chromeで)動作し、時には動作しない場合があります(動作しない場合は、エンコーディングのエラーと思われる四角形で表示されます)。 そしてfirefoxでは、ウィンドウの上部にあるタイトル(あなたのページに表示されるタイトル)を見ても、下のバーに表示されるタイトルは再び正方形のものになります。 :/ これを解決するにはどうすればよいですか?

私はJavascriptを使ってタイトルを定義していますが、これはPHPを使ってutf-8を定義するjsファイルです。

var title = "♫My Music"; document.title = title;ところで、それはLinux上では常に動作するようですが、Windowsでは、それらのことを行います。 =/

ありがとうございます。

+0

どのようにHTMLを生成していますか? PHP?あなたのPHPファイルはUTF-8ですか?ブラウザーにUTF-8(Content-TypeヘッダーまたはHTMLヘッダーのmeta http-equiv経由)を伝えますか?(あなたはFiddler2でヘッダーを確認できます) – Cameron

答えて

5

これは、フォントの問題ではなく、符号化の問題です。文字の代わりに小さな四角形は、通常、文字が使用されているフォントに存在しないことを意味します。

ブラウザでは、通常、要素の内容(ページ自体の外側にある)をレンダリングするときに、特定のフォントを使用します。これらのフォントは、オペレーティングシステムの設定によって異なる場合があります。たとえば、Windows 7の場合、デフォルトは9pt Segoe UIです。これは比較的豊富なフォントですが、古いシステムのフォントは限られています。とにかく、それは著者の手の外です。

したがって、title要素では特殊記号を避ける必要があります。そのレンダリングは保証されておらず、検索エンジンが考慮される限り、おそらく価値がありません。

+0

+1私のものよりも詳しい説明です。 –

+0

説明のためにありがとう、私はタイトルフォントがランダムかもしれないと思うので、私はフォントを変更するスタイルを追加したときにGoogle Chromeは少なくとも理解しているようだが、これがうまくいくかどうかを見てみよう。条件の後にjavascriptを使って作られているので、検索エンジンには関係ありません。ありがとう。 – Grego

1

HTMLにcharsetのメタタグを追加しましたか?

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
1

時にはそれが(Google Chromeの上で)動作し、時にはそれが不気味

(、それはエンコーディングのエラーことになっている広場を思わそれが動作しない場合)しません。

これは、お使いのブラウザとオペレーティングシステムで使用されているフォントの可能性が最も低いです。文字がフォントで定義されている場合は、それが表示されます。そうでなければ、それはしません。

残念ながら、このことについてはあまりお手伝いできません。これらは両方ともあなたのコントロール外です。

やや関連:Unicode support in Web standard fonts

-1

私はこの表記法で、この問題(スペイン語で年)を解決:

title="A & # 241 ; o" 

重要:私は十分なrenderizationのための文字の間に空白スペースを挿入します。

関連する問題