I'm sorry ..incomprehensive...
私のサイトでも文字の切り詰めをする場合は、同じ問題が出ている
RSS用の文字の切り詰めをする場合の問題は2つ.
1.言語タグ文字の切り詰めをしてしまうと、
EMLHのための言語タグが、閉じられない文字列になるため、正しく言語タグを処理出来ない.
そのため
Xoops Multlang HACkのようなもので、先に言語タグを編集してしまってから、文字の切り詰めを行う必要になるようです
Xoops Multlang HACkは必要なかったです.
'description' => xoops_utf8_encode(htmlspecialchars(xoops_substr(easiestml($story->hometext()) , 0 ,125), ENT_QUOTES))
のように、easiestml()で先に編集しちゃうことで出来ました.
2.backend.php は、キャシュを一つしかもっていない
1.のようにして、言語タグを先に処理をしても、backend.phpは、キャシュを1つしかもっていないので切り替わりません.
だから
・backend.phpでは文字の切り詰めをしない
または
・キャシュをオフにする
$tpl->xoops_setCaching(2);
to
$tpl->xoops_setCaching(0);
または
・前述の言語ごとのキャシュのような改造するか
しないと、出来ないのだと思います