Debería funcionar también con los acentos. Probá indicando también el juego de caracteres:
   Código PHP:
    <?
$texto = 'Hola sóy "Michael"';  
$texto2 = substr(html_entity_decode($texto,ENT_QUOTES,"ISO-8859-1"),0,12); 
$texto_cortado = htmlentities($texto2); 
echo $texto_cortado; // Imprime Hola sóy "Mi
?>    
  Saludos.