• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MacOSX / Safari / CSS / content: "漢字";)

SafariでCSSのcontentが文字化けする問題について

このQ&Aのポイント
  • SafariなどのKHTMLブラウザで、外部スクリプトとして読み込むとCSSのcontentが文字化けします。
  • HTMLのヘッダに埋め込むと文字化けしないため、解決策を教えてください。
  • OperaやFirefoxでは文字が正常に表示されるが、PHPでは問題なく表示される。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

>外部CSSでは駄目 Safariのバグじゃないでしょうか FireFoxで試したら、ちゃんと(@charsetで違う文字コードでも)表示できました。 だから、記述自体は問題ないと思います。

waterclock
質問者

お礼

どうも、色々とありがとうございます。 たぶん、そうだと思います。 Safariというか、AppleWebkit(KHTML)の仕様か、バグでしょう。 外部CSSの文字コードを、UTF-8にしたら、Safariでも表示されましたが、 この場合は、FlockやFirefoxなどで逆に文字化けになりました。 英数字を使うか、ヘッダ間に埋め込んだ方が無難ですね。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

文字コードを合わせるか 外部CSSの先頭に @charset "Shift_JIS"; とか使用文字コードを書く

waterclock
質問者

補足

情報ありがとうございます。 やりましたが、効果無しでした。 Safariで、このCSSをみると、↓ @charset "Shift_JIS"; @charset "Shift_JIS"; ul li.new:before { color: #fff; background-color: #f00; font-weight: bold; margin-right: 1px; padding: 1px 2px; content: "V F"; } と、「新着:」が、「V改行F」と表示されて、ページ上では、 E`V???F こんな風に表示されます。(?の部分は□の中に×印) 埋め込みなら表示されるので、Safariも一応対応しているのでしょうが、 外部CSSでは駄目っていうのが、わかりません。ーー;)

noname#14286
noname#14286
回答No.1

その外部cssの編集文字コードは htmlと同じですか?

waterclock
質問者

補足

情報ありがとうございます。 外部CSSファイルの文字コードも同じshift_jisだと思います。 質問内容文に一部間違いがありました。 CSS内容をPHPとして行っても駄目でした。 <?php header("Content-type: text/css"); ul li.new:before { color: #fff; background-color: #f00; font-weight: bold; margin-right: 1px; padding: 1px 2px; content: "新着:"; (←これが NEW!などの英数字ならOKです) } ?>

関連するQ&A