pyro_fire 0 Denunciar post Postado Outubro 27, 2007 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
ze_violeiro 0 Denunciar post Postado Outubro 28, 2007 mas tu ta criando um documento UTF-8 Compartilhar este post Link para o post Compartilhar em outros sites
Otata 4 Denunciar post Postado Outubro 28, 2007 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
pyro_fire 0 Denunciar post Postado Outubro 28, 2007 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
Micael Vianna 0 Denunciar post Postado Outubro 29, 2007 cara use a funcao rawurlencode ele transforma caracteres especiais em hexadecimal se for pegar em javascript, use la a funcao unescape() Compartilhar este post Link para o post Compartilhar em outros sites