Используете ли вы также htmlenteties
перед отправкой на страницу? Когда я только что протестировал ваш код, он работал нормально только с частью urldecode("Ant%C3%B4nio+Carlos+Jobim");
, но когда я прогнал его через htmlentities
, я получил тот же вывод, что и вы.
Кажется, проблема в символах UTF-8 и в том, как PHP обрабатывает функцию htmlentities
.