Twitterの「このツイートをサイトに埋め込む」で文字化け
- 2012-05-25 金 01:23
- FC2ブログ
【追記】 2012年6月19日までに、文字化けが解消されたことを確認しました。現在は正常に表示されます。この記事のコードは必要ないため、削除してください。
現在、ツイート画面の「このツイートをサイトに埋め込む」で表示されるHTMLコードをFC2ブログ(サーバー移設が済んでいないサーバー番号ありのブログ)に貼り付けると、フッターの日付や「返信」「リツイート」「お気に入り登録」のリンクテキストが文字化けします。
移設が済んでいないサーバー番号ありのブログの文字コードが『euc-jp』のためです。
記事に貼り付け。
これまでは正常に表示できていたようなので、修正されるのを待つか、ブログのサーバーが移設(『utf-8』に自動変更)されるまで待てば、元通りになります。
待てないとき
テンプレートHTMLの最下部付近「</body>
」の前などに次のコードを貼り付けると、ページ表示後に文字化けが修正されます。
<script type="text/javascript"><!--
function blogTwCharset(){var i,q=document.getElementsByTagName('blockquote'),j=q.length;
for(i=0;i!=j;i++){if(q[i].className.indexOf('twt-o twt-tweet')===0){
var v=q[i].getElementsByTagName('div'),w=v[v.length-1];
if(w&&w.className==='footer'){
var s=w.getElementsByTagName('span'),b=w.getElementsByTagName('b');v=s[s.length-2];
if(v.className.indexOf('updated')===0&&v.title.indexOf('月')===-1&&v.lastChild.nodeType===3){
s=b.length-1;v.title='';v.lastChild.nodeValue=v.lastChild.nodeValue.replace(/(\d+)[^\w]+?( \d+)/,'$1月$2');
b[s].parentNode.title='';b[s].firstChild.nodeValue='お気に入りに登録';
b[s-1].parentNode.title='';b[s-1].firstChild.nodeValue='リツイート';
b[s-2].parentNode.title='';b[s-2].firstChild.nodeValue='返信';}}}}}
setTimeout(blogTwCharset,800);setTimeout(blogTwCharset,4000);
--></script>
</body>
あるいは、「</head>
」の前や「<body>
」の中に次のコードを加えると修正されます(外部ファイル)。
<script type="text/javascript" src="https://blog-imgs-53.fc2.com/p/a/r/paro2day/fc2twcharset.js" charset="utf-8"></script>
※上記2つのコードは文字化けの問題が解決するか、FC2ブログのサーバー移設が完了したら削除してください。blog122はサーバー移設がまだのため、問題解決確認用に埋め込んでおきます。下記が文字化けしていなければ解決済みです。
【FC2ブログ】Twitterの「このツイートをサイトに埋め込む」で記事にツイートを貼り付けると文字化け(対象はサーバー移設が済んでいないサーバー番号ありのブログ『euc-jp』) paro2day.blog122.fc2.com/blog-entry-938…
— PAROさん (@paroday) 5月 24, 2012
- comment