ホームページ >ウェブフロントエンド >htmlチュートリアル >CSS 文字エンコーディングにより文字化けが発生する_html/css_WEB-ITnose
文字化けによる CSS エラーの原理:
1 つの漢字は 2 つの文字で構成されているため、エンコーディングが一貫していない場合、文字の「再」組み合わせ (漢字の半分の組み合わせ) が発生します。コード化された文字と次の文字によって新しい「テキスト」が生成される)により、元の末尾が「突然変異」に準拠することになり、その結果、末尾記号が見つからなくなり、後続の CSS が無効になります。
ヒント1: CSSで発生する文字化けは、CSSの文字エンコーディングとページの文字エンコーディングの不一致によって発生するため、最も直接的な方法は文字エンコーディングを一致させることです。 CSS のエンコード タイプを指定します。例: @charset "utf-8"; (指定するエンコード タイプは utf-8 であり、CSS ファイルの最初の行に記述する必要があります)
ヒント 2: CSS で文字化けが発生するはすべて漢字が原因なので、中国語を書かない限り「文字化けがCSSの失敗を引き起こす」ということはありません。上記の2つのヒントはさておき、さらに深く掘り下げていくと、「文字化け」が発生します。 「文字」は通常、次の 2 つの状況から生じます。
1. 中国語のコメントにより文字化けが発生する
CSS コメントは次のとおりです: /*特定のコメント*/
文字化けしたコードの例:
通常のコード: /*3 つの中国語文字*/
文字化けの原因: /*涓夋眽瀛?/
ブラウザ環境: IE6
HTML: gb2312
CSS: エンコード指定なし、実際はutf-8に解析されます
上記の例は、CSSコメントの終了文字をブロックし、後続のCSSコンテンツをコメント範囲内にする文字化けコードです
予防策: コメントの強化
例:
通常のコード: /****漢字 3 文字****/
文字化けの原因となるコード: /****フアン・狋罽瀛?***/
この強化されたコメントにより、文字化けを防ぐことができます。コメントの末尾が変わる文字化けをCSS記述時の「変異」を事前に防ぐことができます
2.中国語フォントが文字化けの原因
CSS指定フォント: font-family: "中国語フォント";
文字化けコード例:
正常なコード: font-family: "黑体"
原因: 文字化けコード: font-family: "翜涋"
ブラウザ環境: IE6
HTML: gb2312
CSS: エンコード指定なし、実際はutf-8に解析されます
上記の例は文字化けしており、フォント名が文字化けしてしまい、「指定されたフォントが無効です」というメッセージが表示されます。この問題の影響はそれほど深刻ではないようですが、実際の状況では、文字化けによって次の引用符が「ミュート」され、次の CSS がフォントの引用符内にあるという状況が実際に存在します。以下の CSS がすべて無効になります。
予防策: フォントのエイリアスを使用する(ブラウザが認識できるようにする)
例:
通常のコード: font-family: "SimHei" (font-family: "9ed14f53" )
ブラウザ解析: font-family: " SimHei " (font-family: "Heibody"、IE6 は依然として font-family: "9ed14f53" ですが、フォント解析では黒竜江省と表示されます)
中国語の使用を避けるためにエイリアスを使用し、文字化けを回避します
css 中国語フォント (font-ファミリー) リスト
Windows 用の一部:
Helvetica: SimHei
Song 王朝: SimSun
新しい Song 王朝: NSimSun
FangSong: FangSong
Script: KaiTi
FangSong_GB2312: 2
Kaiti_GB2312:KaiTi_GB2312
マイクロソフトYahei: Microsoft YaHei
Office インストール後に誕生するものの一部:
公式スクリプト: LiSu
Youyuan: YouYuan
华文 Fine Hei: STXihei
华文楷体: STKaiti
华文宋体: STSong
华文中宋体: STZhongsong
中国語模倣歌: STFangsong
創始者シュティ: FZShuTi
創始者ヤオティ: FZYaoti
中国語彩雲: STCaiyun
中国琥珀: STHupo
中国語公式スクリプト: STLiti
华Wen Xingkai: STXingkai
华文新微: STXinwei
追加:
Kaiti_GB2312 と模倣 Song_GB2312 を使用した後、対応するフォントが Windows 7/Vista/2008 で表示されなくなる場合があります。
これは、Windows 7/Vista/2008にはKaiTiとFangSongがありますが、デフォルトではKaiTi_GB2312とFangSong_GB2312がなく、フォント名の違いが「_GB2312」であるためです。
------------------------------------------------ -----------
CSSで中国語フォントを書く方法
フォントの書き方については、
body、
ボタン、input、select、textareaの説明が必要な気がします{
font: 12px/1 Tahoma, Helvetica, Arial, "5b8b4f53", sans-serif;
}
"5b8b4f53" は "Arial" です。 Firefox と Opera の一部のバージョンでは SimSun の書き込みメソッドがサポートされていないため、SimSun の代わりに Unicode を使用してください。フォントの知識を広める:
フォント エイリアス
システム内のフォントには複数のエイリアスを持つことが許可されています。たとえば、Windows では、Georgia を Georgia MS という名前にすることもできます。これらは実際には同じフォントです。宋王朝の正式名称はシムサンであり、「宋王朝」は単にその愛称です。
仕様によれば、ブラウザはフォント エイリアスを自動的に認識し、それらを正しいフォント ファイルにマップする必要があります。たとえば、font-famliy: SimSun と font-family: "宋体" は同等の効果を持つはずです。残念ながら、多くのブラウザでは以前の定義を正しく実装できないようです...
したがって、ブラウザの互換性を考慮して、「宋王朝の歌」を使用する必要があり、それを Unicode 形式にトランスコードすることで、どのエンコードでも問題なく確保できます。
------------------------------------------------ -----------
必要な友人が簡単に使用できるように、次の表に、一般的に使用される中国語フォントの Unicode エンコードを示します:
Heidi 9ED14F53
Songti 5B8B4F53
Kaiti 69774F53
Microsoft弥平 5FAE8F6F96C59ED1