日本語環境だと、例えば、出力するテンプレート変数に日本語が入っていた場合、limit=50とかにすると、文字列によっては、末尾がバイト欠けして文字化けします。
また、文字数もバイト指定になってしまいます。
これは、Ditto内に標準で入っているPHxの関数が、substr()を使用しているためで、これはマルチバイト関数ではないので、日本語だとおかしくなる場合があります。
ですので、直してしまいましょう。(mbstringが使えないとダメですが。)
/assets/snippets/ditto/classes/phx.parser.class.phpの258行目。
$output = substr($output,0,$limit);
を
$output = mb_substr($output,0,$limit);
に修正。
これでマルチバイトで文字数を指定できます。
PHxを導入している場合はこちらも直しましょう。直す箇所は同一です。
/assets/plugins/phx/phx.parser.class.phpの258行目。
$output = substr($output,0,$limit);
を
$output = mb_substr($output,0,$limit);
に修正。