重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

現在、他の方から受け継いだホームページを管理しているのですが、最初の部分が

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<meta http-equiv="content-style-type" content="text/css; charset=Shift_JIS">
<link href="common/top.css" rel="stylesheet" type="text/css">

となっていました。
これ自体は気にならないのですが、外部から読み込んでいるtop.cssを見てみると
1行目に「@charset "utf-8";」と入っていました。

文字コードがhtml側ではcharset=shift_jis"、css側ではcharset "utf-8";となっています。
私はどちらかに揃えるべきだとばかり思っていたのですが、別々でも問題ないものなのでしょうか?

また、もしどちらかに揃えるべきであれば、shift_jisとutf-8のどちらに揃えるべきでしょうか?

詳しい方がいらっしゃいましたら、どうぞよろしくお願いします。

A 回答 (3件)

CSS2 として、以下のように定義されています。



---
4.4 CSS 文書表現
...(中略)...

スタイルシートが分離したファイルに存在する場合,利用者エージェントは,次の優先順位を守り,文書の文字符号化を決定しなければならない。優先順位は,高いものから順に列挙する。

1. "Content-Type"フィールドのHTTP"charset"パラメタ。
2. @charsetの@規則。
3. 参照する文書の言語機構。例えば,HTMLの場合は,LINK要素の"charset"属性。
http://www.y-adagio.com/public/standards/tr_css2 …
---

@charset 規則はHTML構文の規則よりも優先順位が高く設定されています。
従って、現在の状態でも問題ありませんが、統一した方が良いことは確かだと思います。
現状保持なら UTF-8 に統一することになりますね。
.htaccess 等で text/css の文字コードを UTF-8 に統一するのも一つの手です。

# CSS3 の解説は http://www.w3.org/TR/css3-syntax/#css-style にあります。
    • good
    • 0
この回答へのお礼

丁寧な解説、参考アドレスをありがとうございます。

統一した方がいいけれど現状でも問題ない、というお言葉でほっとしました。
.htaccess は勉強不足で今すぐには対応出来そうにないので、
時間を見て「UTF-8」に直していこうと思います。

回答ありがとうございました。

お礼日時:2010/12/15 15:54

どっちかと聞かれれば「utf-8」でしょう。


これから間違いなく「utf-8」で統一(推奨)されますからね。

今どちらで表示されているのか気になるところですが、もし「shift_jis」でDBを使っているとかなどで影響が大ならば、今のままと言うのもありだと思います。
但し現行、何も問題が発生していないのが前提です。
    • good
    • 0
この回答へのお礼

「utf-8」が推奨なんですね。

現在は取り敢えず問題なく表示されてるのでこのままで行きつつ、
時間を見て少しずつ「utf-8」に直していこうと思います。

回答ありがとうございました。

お礼日時:2010/12/15 15:50

サーバーによる



基本CSSのコードとHTMLのコードがあってないと動作支障を起すのでどちらかに統一するのは基本。
基本はHTML側のコードが元となるので、CSSの方を変更する。
    • good
    • 0
この回答へのお礼

やはり統一した方が良いのですね。

回答ありがとうございました!

お礼日時:2010/12/15 15:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!