Achei o que precisava...
http://stackoverflow.com/questions/2651711/convert-php-entities-like-ndash-or-scaron-to-their-applicable-characters
No caso rodei tive que passar 2x a conversão para funcionar...
<?php
$alegacao = "alega&ccedil;&atilde;o"; // valor: alegação
$passo1 = decode_entities_full( $alegacao ); // alega&ccedil;&atilde;o => se torna alegação pois & é convertido para &
$passo2 = decode_entities_full( $alegacao ); // alegação
=> se torna alega��o ... agora é só passar um utf_encode()
echo utf8_encode($passo2);
Mas ainda tá incompleto, pois caracteres como – e &rsquo estarão convertidos para – e ’ respectivamente... mas aí é só manter o código de conversão que eu tava usando antes...
Abaixo o código completo:
http://pastebin.com/EPy6PrC0