WEBサイト作成時に発生するエラーやトラブル対応の備忘録を中心に、いろいろと書いております。


mb_structを使用したときの文字化け

,

Smartyで、文字を丸めるSmarty_modifier_mbtruncateというのを使用していたのですが、mb_structとマルチバイドのはずなのに語尾が文字化けして四角二つとかになっちゃうことがありました。

なぜかなと思いながら、他の方が作成されたSmarty_modifier_mbtruncateのコードを探していると、文字コード指定をすると直るらしい。

前に見たブログ記事が見つからなくなっちゃったので、こちらでも同じように書いていただいてるのリンク

続・Smarty truncateをマルチバイト対応に – こまちドーナツ

ちなみに私の使用しているコードはこちら

<?php
function Smarty_modifier_mbtruncate($string, $length=80, $etc=’…’, $break_words = false){
ツꀀ
ツꀀツꀀツꀀ if ($length == 0)
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀ return ”;

ツꀀツꀀツꀀ if (strlen($string) > $length) {
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀ $length -= strlen($etc);ツꀀ
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀ if (!$break_words)
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀ return mb_strcut($string, 0, $length,”UTF-8″).$etc;
ツꀀツꀀツꀀ } else
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀ return $string;
}

?>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください