eu_Nana 0 Denunciar post Postado Março 31, 2010 Olá pessoal, Tenho um BD onde os nomes das pessoas estão armazenados da seguinte forma: JOSÉ ÂNGELO por exemplo......qnd exibo a consulta esse dado vêem do BD com caracter estranho....como segue: JOSÉ ÂNGELO....add essa linha: <?php header("Content-Type: text/html; charset=ISO-8859-1",true);?> na página mais não tive resultado...continua igual Alguém pode me ajudar Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Março 31, 2010 Utilize a mesma codificação em todo o projeto, se está utilizando UTF-8 no banco de dados, utilize-a nos arquivos para escrever o código e para exibir a página no navegador. Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Vasconcelos 0 Denunciar post Postado Março 31, 2010 Nana, o seu banco de dados está com codificação ISO ? No caso do MySQL você pode consultar (via phpMyAdmin, por ex) a propriedade COLLATION das tabelas. Geralmente latin1 equivale à ISO-8859-1. Para complementar, além do header(); você precisa verificar se na sessão HEAD do seu HTML tem uma meta-tag definindo uma codificação diferente. Adicione a linha a seguir na sessão HEAD de seu HTML. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Março 31, 2010 Oi Nana... Bom...bem recentemente tive esse mesmo problema que o seu....pois eu estava a utilizar o AJAX para realizar algumas operações no sistema e...dava esse problema aí...e a unica alternativa que achei ("que prestou") foi essa: $descricao = utf8_decode($descricao);//Tratando o grande problema da acentuação No seu caso são consultas não é...basta filtrar as Strings com essa função aí que resolver... No caso de ter muitas Strings...vai ficar meio trabalhoso mas... Bom...espero que resolva o seu problema... Abraços http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 31, 2010 enviar uma query para o banco no formato SET NAMES "latin1" pode facilitar na hora de resgatar os dados do banco. um grande problema enfrentado é que a codificação padrão do XMLHTTPRequestObject é UTF-8, daonde vem a incompatibilidade. Para resolver este problema envie um xhr.setRequestHeader('content-type','mime/type; charset=iso-8859-1'); "javascript"substitua mime/type pelo formato de arquivo que deve ser recebido pelo controle xhr (text/plain é o mais recomendado). Para complementar, certifique-se de estar salvando os códigos-fonte na mesma codificação que devem ser exibidos. Não adianta nada forçar o PHP a enviar um header iso, definir uma <meta http-equiv /> iso e salvar o arquivo como unicode. Entenda que a codificação vai além de processos de conversão como utf8_encode/decode(). É um processo de leitura e escrita, se você escreve em egípcio, não adianta pedir pra um grego ler. Você pode até conseguir ajuda de um tradutor, mas sua compreensão estará sujeita a falhas. Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Março 31, 2010 Oi Nana... Bom...bem recentemente tive esse mesmo problema que o seu....pois eu estava a utilizar o AJAX para realizar algumas operações no sistema e...dava esse problema aí...e a unica alternativa que achei ("que prestou") foi essa: $descricao = utf8_decode($descricao);//Tratando o grande problema da acentuação No seu caso são consultas não é...basta filtrar as Strings com essa função aí que resolver... No caso de ter muitas Strings...vai ficar meio trabalhoso mas... Bom...espero que resolva o seu problema... Abraços http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Eu fiz exatamente td oq vcs falaram acima porém sem sucesso....continua do msm jeito.....eu tb estou usando ajax.....e não uso o phpmyadmin e sim o SQLYOG....não consigo encontrar a propriedade COLLATION das tabelas...me ajudem... enviar uma query para o banco no formato SET NAMES "latin1" pode facilitar na hora de resgatar os dados do banco. um grande problema enfrentado é que a codificação padrão do XMLHTTPRequestObject é UTF-8, daonde vem a incompatibilidade. Para resolver este problema envie um xhr.setRequestHeader('content-type','mime/type; charset=iso-8859-1'); "javascript"substitua mime/type pelo formato de arquivo que deve ser recebido pelo controle xhr (text/plain é o mais recomendado). Para complementar, certifique-se de estar salvando os códigos-fonte na mesma codificação que devem ser exibidos. Não adianta nada forçar o PHP a enviar um header iso, definir uma <meta http-equiv /> iso e salvar o arquivo como unicode. Entenda que a codificação vai além de processos de conversão como utf8_encode/decode(). É um processo de leitura e escrita, se você escreve em egípcio, não adianta pedir pra um grego ler. Você pode até conseguir ajuda de um tradutor, mas sua compreensão estará sujeita a falhas. Não entendi, onde tenho q colocar essa linha? Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 31, 2010 a primeira, logo após se conectar com o banco ... $bd = mysql_select_db($banco,$conn); mysql_query('SET NAMES "latin1"'); ... a segunda, logo após instanciar o elemento ajax ajax = new xmlHttpRequest(); ajax.setRequestHeader('content-type','text/plain; charset=iso-8859-1'); A terceira varia conforme o editor que você está utilizando Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Março 31, 2010 a primeira, logo após se conectar com o banco ... $bd = mysql_select_db($banco,$conn); mysql_query('SET NAMES "latin1"'); ... a segunda, logo após instanciar o elemento ajax ajax = new xmlHttpRequest(); ajax.setRequestHeader('content-type','text/plain; charset=iso-8859-1'); A terceira varia conforme o editor que você está utilizando Não deu certo.....é o seguinte..minha página equipe.php esta da seguinte forma: eu exibo todos as pessoas....e qnd clico no nome de alguém ...ele exibe todos os dados referentes a essa pessoa....é nessa parte q o nome q possui acento vem com caracter estranho..... Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Março 31, 2010 eu_Nana você poderia postar essa parte do codigo para que possamos dar uma olhada? No aguardo... Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 31, 2010 Comece a fazer as trocas, o que era latin1 e iso-8859-1 vira utf-8 O problema de codificação é que fica difícil descobrir o que está vindo daonde e para onde, sem acesso ao sistema propriamente dito. Gostaria de enfatizar na questão de que você deve salvar o arquivo na codificação correspondente à qual ele deve ser apresentado. Qualquer dúvida, exiba a página que envia os dados para o controlador ajax, passando algum valor como teste e verifique em que formato estão sendo impressos. Se você se valer da função json_encode() para imprimir os dados e trabalhar com dados JSON, a própria função se encarregará de gerar valores hexadecimais correspondentes aos caracteres especiais e o motor javascript se encarregará de descriptografá-los. Mas neste formato, você NÃO DEVE enviar o cabeçalho setRequestHeader() como eu sugeri acima. Imprimindo a página, você verá que nomes como João, serão impressos como Jo0x00o onde 0x00 corresponde à codificação de ã. Não vai ser necessária nenhuma codificação adicional, o próprio Javascript se encarrega da conversão. Antes de implementar o método, certifique-se de que a página esteja gerando os caracteres acentuados corretamente. Compartilhar este post Link para o post Compartilhar em outros sites
gilmarlondrina 0 Denunciar post Postado Março 31, 2010 Oi Nana, é facil, mude o seu header para header('Content-type: text/html; charset=utf-8'); e lá no banco mude a configuração do collation para "latin1_swedish_ci" Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 31, 2010 eu ainda não entendo esse costume do pessoal usar *_swedish_ci Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Março 31, 2010 eu ainda não entendo esse costume do pessoal usar *_swedish_ci Eu fiz a alteracao que o Gilmar falou.....não deu certo.....alguém me ajude....please... Compartilhar este post Link para o post Compartilhar em outros sites
ozorio silva 0 Denunciar post Postado Março 31, 2010 bom ou voce faz tudo em utf-8 ou iso-8859-1 e no mysqlyog gere um sql mas faça um backup antes depois teste assim no caso aqui um exemplo depois no final coloque um valor deafult para a linguagem no caso para caracteres vindo do banco com utf-8 você pode filtrar esses problemas de acentos usando o comando utf8_decode(); $nome = utf8_decode($variavel_vindo_do_banco); CHARSET=latin1 CHARSET=utf-8 CREATE TABLE IF NOT EXISTS `planilhas` ( `CD_planilha` int(11) NOT NULL AUTO_INCREMENT, `NM_planilha` varchar(200) NOT NULL, `NM_proprietario` varchar(100) NOT NULL, `CD_tamanho` int(11) NOT NULL, `CD_data` decimal(10,0) DEFAULT NULL, `CD_update` decimal(10,0) DEFAULT NULL, PRIMARY KEY (`CD_planilha`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;// aqui voce altera no seu script sql Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Março 31, 2010 eu alterei mais deu erro no Banco....continua exatamente a msm coisa.... Compartilhar este post Link para o post Compartilhar em outros sites
ozorio silva 0 Denunciar post Postado Março 31, 2010 cara faz o seguinte poe teu codigo php e o script sql para a galera analizar pois assim fica dificil te ajudar pois cada um ja tentou te dar uma dica mas sem ver o teu codigo todo fica ruim de adivinhar o que pode ser o problema ok Compartilhar este post Link para o post Compartilhar em outros sites
eu_Nana 0 Denunciar post Postado Março 31, 2010 consegui resolver...fiz uma varredura para alterar tudo para utf-8 ....deu certo....valew pelas respostas.... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Março 31, 2010 Ok eu_Nana...precisando estamos por aki... ok Abraços Compartilhar este post Link para o post Compartilhar em outros sites