Dei uma procurada na internet e vê ai se vai funcionar. Não sei se vai funcionar mais tenta ai cara.
<?
header("Content-Type: text/html; charset=ISO-8859-1",true);
?>
No início da pagina. Isto pq o ISO-8859-1 é o padrão latino que trabalho com acentuação. e por padrão o usado é UTF-8, o americano que nao existe acentuação.
Mas qdo se usa jQuery, o comando .ajax, ex:
$.ajax({
type: "POST", // envia pelo metodo POST
url: "pagina.php", // pagina pra onde sera enviado
data: "nome=joão&tipo=serviço", //conteudo que sera enviado
success: function(resposta){ // resposta é o conteudo que ele vai ler na pagina.php
$('#div_resposta').html(resposta); // insere a resposta na div_resposta
}
});
Nesta transição, o formato usado no jquery é o UTF-8, os acentos ficam errados, MESMO USANDO O CABEÇALHO QUE FORÇA ISO-8859-1.
Então pesquisei pela net, e vi algumas referencias ao PHP usar o cabeçalho mb_internal_encoding, seria utilizado assim:
<?php
mb_internal_encoding("UTF-8");
mb_http_output( "iso-8859-1" );
ob_start("mb_output_handler");
header("Content-Type: text/html; charset=ISO-8859-1",true);
?>
Isto força de algum modo o PHP a codificar ou transformar de UTF-8 para ISO-8859-1, não sei bem o que acontece, mas realmente funciona.
Fonte:
Clique aqui
Abraços.