Tente usar
htmlentities()
em vez de htmlspecialchars() . Caracteres especiais não convertem tudo, apenas alguns caracteres selecionados. O símbolo do Euro €, precisa realmente ser codificado,
€ . htmlentities()
em vez de htmlspecialchars() . € .