2004年11月26日
●個別エントリーアーカイブでの文字化けの原因
個別エントリーアーカイブでのコメント投稿後やTypeKey認証後の文字化けを解消する記事をこちらに投稿しましたが、Daily noteさんのアドバイスより「『続きを読む』を折りたたむスクリプトを入れると文字化けする」とのことで(確認&ご連絡ありがとうございました)、早速試験サイトで試してみました。
実験結果は、試験サイトでも「続きを読む」がある記事へコメントを投稿すると100%文字化けしました。さらに続きを読むの部分(HTML/JavaScript)を色々切り分けた結果、JavaScriptの ShowHide 関数
function showHide(entryID, entryLink, htmlObj) {
extTextDivID = ('Text' + (entryID));
extLinkDivID = ('Link' + (entryID));
if( document.getElementById ) {
if( document.getElementById(extTextDivID).style.display ) {
if( entryLink != 0 ) {
document.getElementById(extTextDivID).style.display = "block";
document.getElementById(extLinkDivID).style.display = "none";
htmlObj.blur();
} else {
document.getElementById(extTextDivID).style.display = "none";
document.getElementById(extLinkDivID).style.display = "block";
}
} else {
location.href = entryLink;
return true;
}
} else {
location.href = entryLink;
return true;
}
}
この中の赤色部分
document.getElementById(extTextDivID).style.display
の記述で文字化けが発生しているようです(この行と下の同じような記述を削除すると発生しませんでした)。さらに厳密に言うと、
document.getElementById(extTextDivID).style
で発生します。つまりHTMLのstyle属性を参照するところで文字化けを引き起こしています(getElementById までであれば発生しません)。このJavaScriptは「続きを読む」をクリックしないと起動されない(onclick属性で起動)スクリプトなのですが、投稿後のレンダリング時点で文字化けを発生させます。
なお根本的な解決案は現在のところ見つかっておりません(ということで先の対処が生まれました)。個別アーカイブに「続きを読む」をご利用の方にはご迷惑おかけ致しまして大変申し訳ございません。この場をお借りしてお詫び申し上げます。m(__)m
このエントリーのトラックバックURL:
http://yujiro.dyndns.org/blog/koikikukan/mt-tb.cgi/388
トラックバック実行後、タイムアウトした旨のメッセージが表示されることがありますが、トラックバック先の処理は(これまでの経験上)正常に終了しています。正常に送信されたかどうかはトラックバック先の個別アーカイブページ等をご確認ください(タイムアウトについてはこちらの記事を参照ください)。
また同一のトラックバックが重複してしまった場合、こちらで気がついた時に適宜削除しておりますので削除のご連絡は不要です。ただし期間が空いている場合(数日とか)は気がつかない場合がありますのでご連絡ください。
こんにちは。
お知らせありがとうございます。
細かい検証をしてくださってありがとうございます。
うちでは実際に現象が起こる(ワタシも)方とそうでない方がいらしたようで
そのあたりはよく分かりませんでしたが
厚かましく問い合わせをさせてもらった次第です。^_^;
それぞれの環境の違いということから
他の方々のところではあまり起こっていない(印象だけですが)のだと思っていましたが
どうなのでしょう。
.htaccess 設定が効果を発揮してくれて問題解消です♪
どうもありがとうございました。
次に挑むのは…(笑) またよろしくお願いします。
やむやむでは 個別アーカイブに「続きを読む」を入れてるのに 続きを読む、がある記事にコメントをしても 文字化けしません。文字化けしないからいいようなものだけど、どうしてしないのかな、気になります。
>miaowさん
こんばんは。
そうですね~。
たしかに他の方も結構折りたたみを導入されているので、文字化けする連絡があってもおかしくないのですが。
サーバ・OS・ブラウザ等の環境が異なると発生しないのでしょうか…謎です。
そういえば私のサイトも「続きを読む」がある記事にコメントして文字化けしているのは記憶にないのですが、他の方がコメントしたら文字化けしているのかも知れません。
いずれにしても .htaccess は効果ありということでとりあえず結果オーライですね。(笑)
>さえらさん
こんばんは。
文字化けしないのはサーバの設定でしょうか。
または環境や設定方法によって動作が微妙に異なっているのか、この辺は謎が深まるばかりです…。


