Ir para conteúdo

Arquivado

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

Alexsandro XPT

Collation + Charset em PHP

Recommended Posts

Galera v se vcs conseguem me salvar.Estou fando INSERT INTO via PHP e com palavras com acento e o danado aparece no db todo errado? Como eu resolvo isto?OBS.: MSSQL 2000 com collation SQL_LATIN1_CI_AI no campo VARCHARMas o default do db é o collation SQL_LATIN_850_CI_AI.Valew...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente definir na sua página PHP que envia o charset ISO-8859-1.

 

Beleza?

 

[]tz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Saquei...

 

eu trabalho com Collation SQL_LATIN1_CP1_CI_AI e usando esse charset funciona numa boa com os caracteres especiais.

 

Tente usar este Collate no seu DB.

 

[]tz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estou usando Ajax.... e nao funciona..Como você salva seus arquivos? em ASCII ?eu tive que salvar em UTF-8 no bloco de notas.. mas ao meu ver isto é uma resolução POG você nao acha?tem alguma dica?

Saquei...eu trabalho com Collation SQL_LATIN1_CP1_CI_AI e usando esse charset funciona numa boa com os caracteres especiais.Tente usar este Collate no seu DB.[]tz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você tem seus arquivos salvos em UTF-8 e tenta usar o charset como ISO-8859-1, não vai dar certo.

 

O que eu disse é para alterar o collate do seu BD para SQL_LATIN1_CP1_CI_AI, que na minha opinião é o mais correto.

 

[]tz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu nao tenho meus arquivos salvos em UTF-8 eu disse q tive q fazer isto...O jeito que você falou deu certo quando eu nao uso ajax.. mas quand eu uso.. ai dana tudo.. alguma dica quanto ao ajax?Valew..

Se você tem seus arquivos salvos em UTF-8 e tenta usar o charset como ISO-8859-1, não vai dar certo.O que eu disse é para alterar o collate do seu BD para SQL_LATIN1_CP1_CI_AI, que na minha opinião é o mais correto.[]tz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, então temos uma evolução.

 

Poxa, aí infelizmente não congio te ajudar.

Veja com o pessoal do fórum de Ajax, certamente eles sabem uma forma de setar, via Ajax, algo para evitar isto.

 

Acho que encurtamos o problema uns 80%.

 

[]tz e boa sorte! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza.. valew... brigado pela atençao.. ;)

Opa, então temos uma evolução.Poxa, aí infelizmente não congio te ajudar.Veja com o pessoal do fórum de Ajax, certamente eles sabem uma forma de setar, via Ajax, algo para evitar isto.Acho que encurtamos o problema uns 80%.[]tz e boa sorte! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha so eu uso SQL sem problemas de acentos ou caracteres especiais.Eu fiz o seguinte, a minha database ta na locaweb e usa tambem essa collations que é padrão de instalação segundo me informaram na locaweb.eu mudei para Latin1_General_CI_AI e agora ta vindo tudo normal. na outra collation SQL_LATIN e num sei mais o que vinha tudo zuado e o pior, eu abria na base de dados e tava normal portanto essa collatin SQL ai num deve ser compativel com o freeTds.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É vey... nao sei pq tem toda esta palhaçada, em ingles nao se acha nada até pq eu entendo, pq eles nao usam acentos e talz......Nunca tive problema de colation e charset na minha vida, so agora q eu resolvo mexer com AJAX, PHP, Web 2 que começa com esta palhaçada.. =/ toficando com raiva ja....

Olha so eu uso SQL sem problemas de acentos ou caracteres especiais.Eu fiz o seguinte, a minha database ta na locaweb e usa tambem essa collations que é padrão de instalação segundo me informaram na locaweb.eu mudei para Latin1_General_CI_AI e agora ta vindo tudo normal. na outra collation SQL_LATIN e num sei mais o que vinha tudo zuado e o pior, eu abria na base de dados e tava normal portanto essa collatin SQL ai num deve ser compativel com o freeTds.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É vey... nao sei pq tem toda esta palhaçada, em ingles nao se acha nada até pq eu entendo, pq eles nao usam acentos e talz......Nunca tive problema de colation e charset na minha vida, so agora q eu resolvo mexer com AJAX, PHP, Web 2 que começa com esta palhaçada.. =/ toficando com raiva ja....

Olha so eu uso SQL sem problemas de acentos ou caracteres especiais.Eu fiz o seguinte, a minha database ta na locaweb e usa tambem essa collations que é padrão de instalação segundo me informaram na locaweb.eu mudei para Latin1_General_CI_AI e agora ta vindo tudo normal. na outra collation SQL_LATIN e num sei mais o que vinha tudo zuado e o pior, eu abria na base de dados e tava normal portanto essa collatin SQL ai num deve ser compativel com o freeTds.

Agora amigo, tem mais uma coisa, eu tive que recriar todas as tabelas depois que alterei o charset. Foi uma briga daquelas com a locaweb porque no meu servidor local funcionava tudo direito e somente la no servidor deles é que acontecia o problema.Como as tabelas foram criadas dentro do collations antigo o sql_latin, através do visual studio, eu renomeiei as tabelas, criei ou outras e copiei o conteudo das antigas para as novas e exclui as antigas. Eu descobri isso porque depois de muita briga pelo helpdesk, o suporte la simplesmente criou uma tabela e fez os testes e deu tudo certo, portanto eu deduzi que o fato das tabelas terem sido criados ainda no collation antigo estava interferindo de alguma forma. Deu 1/2 dia de trampo porque tinha umas 50 tabelas mas agora ta tudo funcionando redondinho.Eu realmente precisa de uma solução pra isso porque temos aqui vários projetos similares (aplicação VB.NET para intranet acessando SQL Server, web site acessando o mesmo SQL Server.A partir de agora, toda base de dados em sql server que vá utilizar o php, eu já prefiro mudar o collation antes e começar a criar as tabelas pra evitar todo esse trampo.Espero que consiga resolver o seu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera nao sei se conseguirao a resolução para o problema mas

passei pelo mesmo e vim ate esse topico atraz de uma solução.. e

por incrivel que parece foi ate simples nao precisei mexer com o collation do banco nem nada...

usava a versao 1.3.33 do apache e sempre trabalhava com o mysql totalmente sem problemas

mas olha so o creeps...

 

no meu novo emprego fui designado a fazer modulos e um sistema para web com o sql server..

me bati de varias formas atraz de uma solução para os caracteres especiais...

 

e olha so oque rolou...

 

acabei desisntalando php e apache para atualiza-los para a ultimna versao e foi so

tudo se resolveu sozinho sem precisar codificar ou decodificar nada

 

usando o <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

 

e a versao 2.2 do apache os caracteres especiais se normalizaram normalmente...

 

espero que meu cruel problema nao tenha matado ninguem heheheh

 

e agora se alguem vier ai ja tem uma dica...

 

abraço a todos..

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.