ホーム > 開発 > Safariでのcontentプロパティが文字化けするバグの対策

Safariでのcontentプロパティが文字化けするバグの対策

caramel*vanillaさんを見ていて気づいたのですが、Safariでcontentプロパティに日本語を使うと文字化けします。

そこでweb creatorsの6月号を確認してみると、文字列をエンコードして設定してあげると良いと判りました。

エンコードをするにはJavaScriptで作られたツールを使うと良いです。

数値文字列参照変換スクリプト

ここで日本語を「16進数のhtml数値文字参照」に変換します。すると、文字列がJavascriptで使用できる状態にエンコードされます。

「あ」→ 「あ」

この状態のままでは使えないので、もう少し変換をかけます。
「&#x」を「\」に、「;」を削除して下記の形式に変換します。

「あ」 → 「\\3042」

こうやってできた文字列参照を使ってcontentプロパティを記述します。

修正前

ins:before {
    (略)
    content: "追記";
}

修正後

ins:before {
    (略)
    content: "\\8ffd\\8a18";
}

今日のCSSメモでした。 

コメント:0

コメントフォーム
入力した情報を記憶する

ホーム > 開発 > Safariでのcontentプロパティが文字化けするバグの対策

最近の投稿
最近の反応
カンパ

カンパ受付中です!
カンパしていただける方は下記リンクからお願いします。

Twitter発言

ページの上部に戻る