Jump to content


Photo

Caracteres


  • Faça o login para participar
4 replies to this topic

#1 peterpan

peterpan

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Não informado

Posted 29/09/2008, 09:33

Olá pessoal,

Estou com problemas nos caracteres do meu mysql, quando insiro um dado no banco e dou um select aparece caracteres estranhos tipo estes: "Atualização de Segurança" . O Collation do banco e das tabelas está em "latin1_swedish_ci" . Preciso alterar alguma configuração do mysql, php ou apache? Qual a solução?

agradeço desde já

peterpan

#2 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 29/09/2008, 13:23

Então... o ideal é que você use o mesmo encoding tanto no Apache, quanto no PHP, quanto no banco de dados.
Provavelmente tem algum conflito aí. Você pode resolver paliativamente com as funções utf8_encode() e utf8_decode() do PHP, mas era legal se você pudesse padronizar tudo.

Recentemente (ok, nem tão recentemente...) a equipe de desenvolvimento do PHP anunciou que na versão 6 o encoding interno padrão será UTF-8. Por isso eu, que usava latin1, estou utillizando tudo em UTF-8 e não me arrepndo. Tem sido uma ótima surpresa... as dores de cabeça que eu tinha usando latin1 diminuiram drasticamente! :)

#3 peterpan

peterpan

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Não informado

Posted 29/09/2008, 15:15

amigo, no httpd.conf está : AddDefaultCharset ISO-8859-1, com isso meu browser lê os acentos da minha página de internet (tipo nome de botão, menus...) , porém os dados que são armazenados no banco seguem com caracteres errados.
As configurações do mysql está assim:
Conjunto de caracteres MySQL: UTF-8 Unicode (utf8)
Collation do Banco de Dados: utf8_unicode_ci
Collation da Tabela: utf8_unicode_ci
Collation do Campo: utf8_unicode_ci

Se eu inserir diretamente no banco pelo phpmyadmin ele aceita os acentos, pela ferramenta de inventários os dados são gravados com a codificação errada.

#4 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 29/09/2008, 16:11

Se o banco está como utf8, trabalhe com utf8 ao invés de ISO-8859-1 :)
Mas se quiser fazer de outro jeito, use as funções que eu te passei no posta anterior.

#5 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 02/10/2008, 16:08

Eu já tive altas dores de cabeça com isso.

Estou desenvolvendo a nova versão de um site que fiz, e o banco todo está como latin. Queria por que queria passar para UTF-8, mas após muitas tentativas desisti. É frustrante.

Por isso, defina bem, faça todos os testes possíveis seguindo as recomendações do boirock. UTF-8 é amplamente menos estressante, pois aceita diversos caracteres que outros não aceitam.

Mudar de charset depois do DB estar cheio de info. é dor de cabeça pura.

Edição feita por: Firehalk, 02/10/2008, 16:08.

BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq