Ir para conteúdo

POWERED BY:

Arquivado

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

Prove Yourself

[Resolvido] Acentos errados em arquivos XLS ...

Recommended Posts

Estou usando o seguinte código para gerar arquivos XLS:

<?php

if(isset($_POST['dados'])) {

header('Content-Type: application/vnd.ms-excel; charset=utf-8');

header('Content-Disposition: attachment; filename=dados.xls');

 

$tabela = '<table border="1"><tr><th>Modelo</th><th>Preço</th><th>Quantidade</th></tr>';

$objetos = json_decode(urldecode($_POST['dados']));

 

if(!empty($objetos)) {

foreach($objetos as $obj) {

$tabela .= "<tr><td>{$obj->model}</td><td>{$obj->qty}</td><td>{$obj->price}</td></tr>";

}

 

$tabela .= '</table>';

 

echo $tabela;

}

}

?>

O problema é que os acentos ficam desconfigurados. A palavra "Preço" por exemplo aparece como "Preço". Alguém sabe resolver isso? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O arquivo php foi salvo em ANSI ou em UTF-8?

Esta página é gerada por outra página PHP? Se sim ela foi salva em ANSI ou utf-8?

 

[editado]

Tente fazer isto:

$tabela .= "<tr><td>".utf8_decode($obj->model)."</td><td>".utf8_decode($obj->qty)."</td><td>".utf8_decode($obj->price)."</td></tr>";

Atenciosamente Silverfox

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei um meta ali e resolveu. Bizarro :)

<?php
if(isset($_POST['dados'])) {
	header('Content-Type: application/vnd.ms-excel; charset=iso-8859-1');
	header('Content-Disposition: attachment; filename=dados.xls');

	$tabela = '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
	$tabela .= '<table border="1"><tr><th>Modelo</th><th>Preço</th><th>Quantidade</th></tr>';
	$objetos = json_decode(urldecode($_POST['dados']));

	if(!empty($objetos)) {
		foreach($objetos as $obj) {
			$tabela .= "<tr><td>{$obj->model}</td><td>{$obj->qty}</td><td>{$obj->price}</td></tr>";
		}

		$tabela .= '</table>';

		echo $tabela;
	}
}
?>
Valeu pela ajuda!

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.