Pesquisando pela internet achei algo interessante uma vez!!
Tente alguma dessas alternativas:
------
A definição no HTTPD.CONF do apache.
Na configuração do apache padrão (utilizo a versão 2.0.47 para windows e php 4.3.8 em meu computador) já vem configurada desta forma:
...
# is in iso-8859-1 (latin1) unless specified otherwise i.e. you
# are merely stating the obvious. There are also some security
# reasons in browsers, related to javascript and URL parsing
# which encourage you to always set a default char set.
#
AddDefaultCharset ISO-8859-1
...
A parte em negrito define qual o tipo padrão será os caracteres utilizados nas páginas.
Atualmente o padrão internacional de codigicação é utf-8 que no caso muda os caracteres acentuados, como por exemplo: "é" ficaria "?"
Definimos isto na tag <head> dos documentos html, php, xhtml enfim, dentro as tags META, definindo os caracteres atuais para a lingua latina, com acentos!
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
Pois bem, até aqui, vocês já devem saber o que acontece o ajax carrega e tudo fica "bacana" monte de quadrados e interrogações.
Agora tipos de solução:
1 - Editar o arquivo HTTPD.conf do apache
na linha
AddDefaultCharset ISO-8859-1
mude para
AddDefaultCharset utf-8
faça um backup do antigo antes de salvar.
2 - Alterando no código do ajax.
crie uma variavel, que chamei de texto, ou da forma que queira, que receba a resposta da solicitação da página vinda do comando GET ou POST anterior:
var texto=xmlhttp.responseText
//Desfaz o urlencode
texto=texto.replace(/\+/g," ")
texto=unescape(texto)
//Exibe o texto no div conteúdo
document.getElementById(nome_da_div_que_voce_usa).innerHTML=texto
Acima, a variável texto recebe o arquivo carregado (ou armazenado) troca os sinais de + por "espaços" e decodifica o texto.( havia anteriormente pesquisado e a resposta foi esta.)
3 - Alterando o arquivo .htacess do servidor.
Ok, tudo isso foi testado, mas no servidor que você hospedou não alteram o código do apache (vai que é servidor windows?) então, por sorte criei esta alteração no código do arquivo .htacess que fica em cada pasta do servidor.(veja explicações sobre o mesmo através do google caso tenha receio em alterá-lo).
Do servidor, você deve efetuar um download via ftp para o seu micro.
Abra o arquivo pelo bloco de notas.
e adicione:
AddDefaultCharset ISO-8859-1
Provavelmente estará vazio, então ao salvar você com certeza receberá esta mensagem:
DIGITE UM NOME DE ARQUIVO, ao estar renomeando de .htacess.txt para .htacess
no linux, isto ficaria simples, mas o windows não permite arquivos sem nome antes da extensão.
Ok, não se desespere:
Abra o Bloco de Notas, e arraste o arquivo .htacess para dentro dele (como arrastar um arquivo para outra pasta e soltar) ele vai ser aberto normalmente, adicone a linha
AddDefaultCharset ISO-8859-1
e somente SALVE o documento atual, não utilize a opção salvar como.
Pronto, envie para o seu servidor através de ftp na pasta onde se encontra a index de seu site.
PRONTO, o problema será resolvido pois a definição AddDefaultCharset ISO-8859-1
modifica o arquivo HTTPD.conf do apache somente para as páginas do seu site.
------
A 3ª resolveu meus problemas!!
Edição feita por: Renan L. Queiroz, 10/01/2008, 10:45.