eggià, funziona proprio bene :
$str=mb_substr($str, 0, 30, 'utf-8');

spettacolo grazie mille