SafariでブックマークレットでDOMに出力すると文字化け

 ブックマークレット作成中に文字化けではまったのでメモ。「広めたい情報を効率よくリンク(タイトルを部分引用付きでリンク作成するブックマークレット): point of view pointhateb - 広めたい情報を効率よくリンク(タイトルを部分引用付きでリンク作成するブックマークレット): point of view pointでもSafariでテストしてるのだけど、うまくいかなくて2バイト文字の出力をやめていた(最低限にしてごまかした)。
 先のエントリーに続き、Safariのみで発生する現象(Windows版のみテスト、Macはどうなんだろう?)。
 ブックマークレットで外部スクリプトを読み込む方法も試す。これでも同じように文字化けしてしまう。いろいろ調べると、外部スクリプトを読み込む(script要素をappendChildするとか)際に、「charset」をすることでなんとかなることを発見。
 追加するscript要素に「.setAttribute(‘charset’,’UTF-8’」)みたいな感じで対処。
 しかし、ブックマークレット単体でやる場合にはこういうことができない気がする。みんなどうしているのだろう?
 ということで、上記ブックマークレットについては2バイト文字を出力しているTwitter用の対処はまだできてない(引用部分を囲む「」が文字化けする)のだけど、新たに外部スクリプトを読み込む方法で作り直している最中。

コメント

タイトルとURLをコピーしました