• 解決済 ellensburghitchcock

    (@ellensburghitchcock)


    トップページに表示される、カテゴリの文章の一部の最後に、おそらく「続く」を意味する文字が化けてしまいます。
    文字化けは→�が表示されます。

    文字化けはこの部分だけなのですが、どのようにすればうまく表示できるのか教えてください。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • KKT

    (@kvex)

    テーマがわからないのでなんともいえません。

    エスパー的に予想するなら、テーマに直接全角が書き込まれていてUTF-8で保存されていない。

    あたりがありがちな原因な気もしますけど。

    トピック投稿者 ellensburghitchcock

    (@ellensburghitchcock)

    ありがとうございます。
    テーマは、http://wpthemedesigner.com/demo/です。
    今、テーマのデモサイトを見たら、「続く」のような…も文字もありませんでした。
    なぜ、日本語で入れると、�が表示されるのか…

    「テーマに直接全角が書き込まれていてUTF-8で保存されていない。」
    というのは、.phpのデータに直接全角が書き込まれている可能性がある、ということでしょうか?
    確認しましたが、元のphpは触っていないので、おそらく全角が入っていないと思います。ざっと見てみましたが、全角らしきものはありませんでした。

    KKT

    (@kvex)

    どのテーマかわからなかったのでダウンロードはしてませんが。

    カテゴリ一覧を出すところのソースはどうなっていますか?
    もしかすると、バイト単位で切り取っているんじゃないですかね?
    全角だから最後の文字が場合によっては1バイトで切り取られちゃうとか。

    きっとそんなとこだろうとは思うのですがどうでしょう。

    トピック投稿者 ellensburghitchcock

    (@ellensburghitchcock)

    カテゴリ一覧を出すところのソース…
    たぶんこれかな…

    # Displays a list of recent categories
    function dp_recent_comments($num, $pre='
    <li>', $suf='</li>
    ') {
    	global $wpdb, $post;
    	$querystr = "SELECT $wpdb->comments.comment_ID, $wpdb->comments.comment_post_ID, $wpdb->comments.comment_author, $wpdb->comments.comment_content, $wpdb->comments.comment_author_email FROM $wpdb->comments WHERE $wpdb->comments.comment_approved=1 ORDER BY $wpdb->comments.comment_date DESC LIMIT $num";
    	$recentcomments = $wpdb->get_results($querystr, OBJECT);
    	foreach ($recentcomments as $rc) {
    		$post = get_post($rc->comment_post_ID);
    		echo $pre;
    		?><strong><a>#comment-<?php echo $rc->comment_ID ?>"><?php echo $rc->comment_author ?></a></strong> on <a>#comment-<?php echo $rc->comment_ID ?>"><?php echo $post->post_title; ?></a><?php
    		echo $suf;
    	}
    }

    どこが1byte文字として表示するものかわかりませんでした。

    ちなみに、テーマ名は「Emperors Theme」です。

    KKT

    (@kvex)

    そこはコメントですかね。
    ちょっとみてみます。

    KKT

    (@kvex)

    どの部分なんですかね?
    Categories
    のリストのことじゃないのかな?
    wp_list_categories だったから文字が切れるようなこともなさそうですね。

    場所を具体的に教えてください。

    KKT

    (@kvex)

    う~ん・・・
    入れてみては無いのですが、ざっと見てみて怪しそうなところは

    function.phpの150行あたりの
    $string = substr($string, 0, $substr);
    でしょうか?場合によってはへんに切れるかもですね
    substr を mb_substr にしてみるとかですかね?

    ただ、うまくいったとしても文字数が多くなりすぎるので、index.phpの
    dp_clean($post->post_content, 150)
    を半分の75とかにしたほうがいいかも。
    もう一カ所
    dp_clean($post->post_content, 300)
    というのがあるので、これも150にするとか。

    トピック投稿者 ellensburghitchcock

    (@ellensburghitchcock)

    ありがとうございます!
    なおりました!

    KKT

    (@kvex)

    おぉ!正解でしたか?
    それはよかったです^^

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「「続く」を表しているだろう文字の化け」には新たに返信することはできません。