【文字コード変換ツール】:before :afterの擬似要素などでの日本語の文字化け対策:原因・対処(回避)方法
以前から:before :afterなどの擬似要素で、contentプロパティに日本語を入れて使用していたのですが、『文字化け』にあまり遭遇することがありませんでした。ですので1,2度見ても『たまたまかな?』と思って気に留めてなかったんです。
ですが最近新たに立ち上げたサイトで:before :afterを多用してテストをしていたところ、結構な頻度で上の画像のような文字化けがでてきたので、これはほっとけないなぁ。
ということで、文字化け対策用『Unicode変換ツール』を作りました。
Unicode変換ツール
このボックスに変換したい日本語を入力し、変換 ボタンを押すと、Unicodeに変換されます。
変換前の日本語(UTF-8)
変換後(Unicode)
この『:before :afterなどの擬似要素で、contentプロパティ内の日本語が文字化けする原因と対処方法』については、以下に記載しています。
目次
擬似要素の文字化けの原因と対処方法
擬似要素の文字化けの原因
原因は
- cssの文字コードが『Shift_JIS』ではなく『UTF-8』で作られている
- そのcssが外部ファイルとして定義されている
この状況の時に起こるようです。
文字コード相違に起因する問題は、この先もどうしようもないんでしょうかねぇ。。
ま、そんなことを言ってもしょうがないので、文字化けの対処(回避)方法を。
擬似要素の文字化けの対処(回避)方法
cssに記載した:before :afterなどの擬似要素のcontentの日本語を、そのまま使うのではなく、Unicodeに変換して記載することで回避できます。
この画像では、アコーディオンの開閉ボタンに使用していたのですが、これを例にとると、
AccordionBox02 label:after { content: "カラー・サイズを見る"; }
このcontentプロパティに書いている日本語「カラー・サイズを見る」を、Unicodeに変換して、
AccordionBox02 label:after { content: "ABE9FCFBB5A4BA928B8B"; }
このように記載すれば、文字化けは回避できます。
まとめ
毎回文字化けが起こる訳ではないのですが、確実に『文字化けしない』わけではない!という状況は、やはりあまりよろしくないですよね。
ですので、擬似要素の:beforeや:afterのcontentプロパティで日本語を使用したい場合は、少々面倒ではありますが、変換してから記載して、いらぬ心配をしないで使っちゃってくださいね!
Google AdS
関連記事
-
【2025最新】スマホ・タブレットの解像度一覧表(画面サイズの割合)iPhone・iPad..
2025/2「解像度一覧表」 更新 最近はレスポンス対応が当たり前になってきて、メディアクエリの記述をしない方…
-
SNS等の公式ロゴ(アイコン)素材のまとめ(Facebook, Instagram, Youtube, Twitter, Line etc.)
一度サイトを作ってしまうとなかなか更新せず使い回してしまうのが、この『SNSのロゴ(アイコン)』だと思うのですが、サイト…
-
Google Analyticsに設定する『グローバルIPアドレス』を確認&取得する方法
で「自分のアクセスを除外」するフィルタを設定し、自分のアクセスはカウントしないようにしていたのですが、ある修正作業をして…
-
WordPressのテスト(ステージング)環境を簡単に作る方法・注意点:XSERVER + All in On WP Migration
今まで企業サイトの管理等では、最初から環境が整っているところばかりだったので、開発・テスト・ステージング環境はあまり深く…
-
『reCAPTCHA v3』を2ページ以上表示させる時の方法(問い合わせ+α・固定ページ・投稿ページetc..)
以前『reCAPTCHA v3』を問い合わせページのみ&左側に表示させる方法:その2を書いた時は、問い合わせページにのみ…