はてなブログでは、文章中の特定のキーワードに勝手にアンダーラインが引かれリンクになる。
無料版では標準的にはこれを消せない。
はてなブログからエクスポートするファイルにも、そのキーワードリンクはそのまま残っている。
≪サンプル「京都府立植物園」≫
<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%FE%C5%D4%C9%DC%CE%A9%BF%A2%CA%AA%B1%E0">京都府立植物園</a>
キーワードがURIエンコードされているのだが、これが「EUC-JP」ベース。
このエンコード文字列をそのままWikipediaに渡すとエラーになる。Wikipediaのエンコードは「UTF-8」ベースのため。
≪サンプル「京都府立植物園」≫
https://ja.wikipedia.org/wiki/%E4%BA%AC%E9%83%BD%E5%BA%9C%E7%AB%8B%E6%A4%8D%E7%89%A9%E5%9C%92
JavaScriptには「UTF-8」のURIエンコード/デコードをする関数は標準にある。
- encodeURI()
- decodeURI()
探してみると、「Escape Codec Library: ecl.js」というのが見つかった。
これを使えば、EUC-JPエンコード文字列をUTF-8エンコードに変換できる。
「UnescapeEUCJP()」で、EUC-JPエンコードをデコードして、encodeURI()でUTF-8エンコードする。
<script> var eucEnc = "%B5%FE%C5%D4%C9%DC%CE%A9%BF%A2%CA%AA%B1%E0"; var utf8 = UnescapeEUCJP(eucEnc); var utf8Enc = encodeURI(utf8); </script>