hiromasa.zone : o)

2005/7/7 Thursday 投稿時の月齢:0.9  月名:新月  潮汐:大潮 Moon:0.9[新月]今日の心技体 : 低調期低調期低調期

Shift_JIS WP ポポポ不具合 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - ひろまさ @ 9:25

Shift_JIS WP ポポポ不具合修正。

SJISが何か悪さしてます・・・@トルネキア帝國[仮]さんにトラックバックしています。

Shift_JIS で WordPress を動かしているのは、もしかしてココだけ・・・と思っていましたが、仲間がいらっしゃいました。 よろしくお願いします。 🙂

実は Shift_JIS で動かすと RSS フィードで、文字コード 2byte 目が「0x7c」の漢字コード(「ポ」とか「掃」とか)が化けてしまうという不具合があるのですが、ハックコードがありますのでここに紹介します。

wp-include/functions.php : 1958行付近 : wpj_excerpt_rss 関数。
// excerpt_rss for Multibyte.
function wpj_excerpt_rss($cut = 0, $encode_html = 0) {
$content = get_the_excerpt(true);
// Shift_JIS Hack by hiromasa Modify 2005/05/06 -->
$content = apply_filters('the_excerpt_rss', wpj_utf8_encode($content));
// < -- if ($cut && !$encode_html) { $encode_html = 2; } if ($encode_html == 1) { $content = wp_specialchars($content); $cut = 0; } elseif ($encode_html == 0) { $content = make_url_footnote($content); } elseif ($encode_html == 2) { $content = strip_tags($content); } if ($cut && (mb_strlen($content) > $cut) ){
// Shift_JIS Hack by hiromasa Modify 2005/05/06 -->
// $content = mb_substr($content, 0, $cut);
$content = mb_substr($content, 0, $cut, 'UTF-8');
// < -- $content .= '...'; } $content = str_replace(']]>', ']]>', $content);
// Shift_JIS Hack by hiromasa Modify 2005/05/06 -->
// echo wpj_utf8_encode($content);
echo $content;
// < -- }

wp-include/feed-functions.php : 12行目付近 : the_title_rss 関数。
function the_title_rss() {
$title = wpj_utf8_encode(get_the_title());
$title = apply_filters('the_title', $title);
$title = apply_filters('the_title_rss', $title);
echo $title;
}

php の文字処理関数が「|」のコードを誤認識して動いてしまうのが原因っぽいのですが、該当がどの関数か分からないので処理前に UTF-8 に変換して対処しています。 まだつぶし切れてないかもしれませんが、一応これで RSS 2.0 は大丈夫のようです。

よければお使い下さい。 😛

No Comments


このサイトはコンテンツをフリーズしました。トラックバック・コメントは閉じられています。

新しいサイトは、

hiromasa.another :o)

です。 :-)

このサイトについて

このブログは引っ越しを行いコンテンツはフリーズしています。hiromasa.anotherへどうぞ。

Powerd By WordPress

We (Heart) WordPress

WordPressME Logo
WordPress Plugins

ブログ内検索

Todays Popular

WordPress Ring

はてなリング - WordPress -

情報

32 queries. 0.465 seconds.

このページの先頭へ