Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pyro_fire

XML não aceita caracteres especiais.

Recommended Posts

Pessoal aconteceu algo muito estranho ontem, tenho uma tabela no MySQL e precisei adicionar mais um campo, até aí normal, agora eu leio os campos dessa tabela e monto um XML, tudo funciona bem, porém os dados desse novo campo não aceitam caracteres especiais, tudo o que é ç, ã, etc fica como ?. Os dados dos outros campos funcionam bem, eu gero o código dessa seguinte forma:

$xmlDoc = new DOMDocument('1.0', 'utf-8');
$xmlDoc -> formatOutput = true;
			
$receitas = $xmlDoc -> createElement('receitas');
$receitas = $xmlDoc -> appendChild($receitas);

$campo = $xmlDoc -> createElement('campo', utf8_encode($linha['rec_tipo']));
$campo = $receita -> appendChild($campo);
				
$campo1 = $xmlDoc -> createElement('campo1', utf8_encode($linha['rec_tit']));
$campo1 = $receita -> appendChild($campo1);
				
$campo2 = $xmlDoc -> createElement('campo2', utf8_encode($linha['rec_img']));
$campo2 = $receita -> appendChild($campo2);

$xmlDoc -> save("valores.xml");

A minha tabela do MySQL é MyISAM e o charset é latim1 - latim1_swedish_ci. Alguém já passou por isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente mudar de utf-8 para ISO-8859-1 no xml, talvez ajude...t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim por isso eu utilizo utf8_encode() nos dados capturados do banco, eu preciso que o XML seja UTF-8 pois o outro sistema que irá ler só aceita UTF-8 e por outro lado não posso simplesmente mudar o charset do banco para UTF-8 por causa da compatibilidade dos nosso sistema legado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.