html_entity_decode problema em PHP?

Eu estou tentando converter entidades HTML de uma seqüência de caracteres de origem para seu equivalente literal de caracteres.

Por exemplo:

<?php

$string = "Hello &#8211; World";
$converted = html_entity_decode($string);

?>

Enquanto isso corretamente converte a entidade na tela, quando eu olho o código HTML, ele ainda está mostrando a entidade explícita. Preciso mudar isso para que ele literalmente converta a entidade, pois não estou usando a string em uma página HTML.

Alguma idéia do que estou fazendo de errado?

Para sua informação, estou enviando a string convertida para o serviço de notificação por push da Apple:

$payload['aps'] = array('alert' => $converted, 'badge' => 1, 'sound' => 'default');
$payload = json_encode($payload);

questionAnswers(2)

yourAnswerToTheQuestion