ホームページ  >  記事  >  ウェブフロントエンド  >  CSS文字エンコードによる文字化けの簡単な解決策を共有する

CSS文字エンコードによる文字化けの簡単な解決策を共有する

高洛峰
高洛峰オリジナル
2017-03-09 18:08:321481ブラウズ

次のエディターは、CSS 文字エンコーディングによって引き起こされる文字化けの簡単な解決策を共有する記事をお届けします。編集者はこれがとても良いと思ったので、参考として共有します。エディターをフォローして見てみましょう

文字化けによる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 コンテンツはコメント範囲が狭くなり、CSS エラーが発生する

予防策: コメントを強化する


例:

通常のコード: /****漢字 3 文字****/

文字化けコードの原因: /****フアン・狋罽瀛?***/
この強化されたバージョンのコメントは、コメント文字化けを防ぐ CSS記述時に最終ターミネータの「突然変異」を事前に防ぐことができます

2. 中国語フォントで文字化けが発生する

CSS指定フォント: font-family: "中国語フォント";


文字化けコード例:

通常コード: font-family :"Hellbody"

文字化けの原因: font-family:"浜涋"
ブラウザ環境: IE6
HTML: gb2312
CSS: エンコード指定なし、実際はutf-8に解析されます

上記の例は文字化けしています文字化けとなり、指定したフォントが無効になります。この問題の影響はそれほど深刻ではないようですが、実際の状況では、文字化けによって次の引用符が「ミュート」され、次の CSS がフォントの引用符内にあるという状況が実際に存在します。以下の CSS がすべて無効になります。

予防策: フォントのエイリアスを使用します (ブラウザが認識できるように)


例:

通常のコード: font-family: "SimHei" (font-family: "9ed14f53" )

ブラウザの解析: font-family: " SimHei" (font-family:"黑体"、IE6 は依然として font-family:"9ed14f53" ですが、フォント分析では太字で表示されます)
エイリアスを使用して中国語の使用を回避し、文字化けを回避します

css 中国語フォント (フォント-family ) リスト

Windows 用の一部:

Helvetica: SimHei

歌の王朝: SimSun

新しい歌の王朝: NSimSun

Fang Song: FangSong

Script: KaiTi

Fang Song_GB2312: 2

KaiTi_GB2312:KaiTi_GB2312

Microsoft YaHei: Microsoft YaHei

Office のインストール後に誕生するものの一部:

公式スクリプト: LiSu

Youyuan: YouYuan

Chinese Fine Hei: STXihei

中国語スクリプト: STKaiti

中国宋朝: STSong

中文中歌王朝: STZhongsong

中国模倣歌王朝: STFangsong

創設者Shuti: FZShuTi

創設者Yaotii: FZYaoti

中国語彩雲: STCaiyun

中国琥珀: STHupo

中国語公式文字: STLiti

中国語楷書: STXingkai

中国語 Xinwei: STXinwei

追加:

Kaiti_GB2312 および模倣 Song_GB2312 を使用した後、対応するフォントが Windows 7/Vista/2008 で表示されなくなる場合があります。

これは、Windows 7/Vista/2008にはKai TiとFang Songがありますが、デフォルトではKai Ti_GB2312とFang Song_GB2312がなく、フォント名の違いが「_GB2312」であるためです。

------------------------------------------------ -----------

CSSでの中国語フォントの書き方

フォントの書き方については、

body、

button、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 エンコードを示します:
HeiTi 9ED14F53
Song Ti 5B8B4F53
KaTi 69774F53
マイクロソフト ヤヘイ 5FAE8F6F96C59ED1


以上がCSS文字エンコードによる文字化けの簡単な解決策を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。