Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Sota

Acentos na base de dados

Mensagens Recomendadas

Sota    0
Sota

Viva,

Alguem sabe como colocar acentos nos textos da base de dado e depois quando carregar não aparecer um coisa esquesita em vez da letra com o acento???

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

Isso está relacionado com o enconding do texto.

Se estás a falar de Web, o enconding da página tem de ser o mesmo que o enconding usado na BD, ou então tens de fazer a conversão dos dados da BD.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sota    0
Sota

utiliza o

utf8_general_ci

que serve para te definir a nossa lingua

é o que tenho da base de dados. :s

Isso está relacionado com o enconding do texto.

Se estás a falar de Web, o enconding da página tem de ser o mesmo que o enconding usado na BD, ou então tens de fazer a conversão dos dados da BD.

podias ser um pouco mais especifico:S

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

Isso não resolve nada ;)

Se a página estiver indicada com ISO-8859-1, esse sim, define os caracteres latinos, com o ISO-8859-9 a acrescentar o símbolo do euro, então tens duas codifiações misturadas na mesma página, o browser vai mostrar os dados segundo o que estiver indicado nos headers, e vais ter os mesmos símbolos estranhos.

Precisas mesmo de escolher um enconding e usar ou converter sempre para esse encoding.

UTF-8 é um enconding "universal", possuí todos os caracteres existentes.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sota    0
Sota

Isso não resolve nada ;)

Se a página estiver indicada com ISO-8859-1, esse sim, define os caracteres latinos, com o ISO-8859-9 a acrescentar o símbolo do euro, então tens duas codifiações misturadas na mesma página, o browser vai mostrar os dados segundo o que estiver indicado nos headers, e vais ter os mesmos símbolos estranhos.

Precisas mesmo de escolher um enconding e usar ou converter sempre para esse encoding.

UTF-8 é um enconding "universal", possuí todos os caracteres existentes.

se não for pedir muito achas que podias explicar como fazer isso?

tive a procura no php.net alguma coisa mas não consigo encontrar nada até porque para mim isto é um novidade

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yoda    139
yoda

<?php mysql_set_charset('utf8', $conn_id); ?>

Eu uso de outra forma porém :

<?php mysql_query("SET NAMES 'latin1' COLLATE 'latin1_swedish_ci'", $conn_id)

Sempre usei latin1 e nunca tive problemas com caracteres, usando iso-8859-1 nas paginas

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yoda    139
yoda

Nenhuma das 2 altera o que já tens inserido na base de dados, só muda o que lá puseres posteriormente .. Servem para definir o charset do cliente mysql.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

A forma simples é colocares as páginas com o mesmo enconding que a BD, e o mesmo encoding não é só indicar no header é também definir o ficheiro como tendo esse encoding.

De outra forma, dependerá de como estás a trabalhar.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sota    0
Sota

yoda.pt vou exprementar mais logo quando tiver mais tempo. depois digo algo aqui ;)

knitter, como é que isso se faz?

raparei agora que numa da paginas aquilo vem com os caracteres estranho mas na outra já não?!?!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

Se tens dados na BD mexer lá é capaz de ser mais complicado, portanto a solução que pode funcionar e ser mais simples é definires o encoding da página, adicionando uma tag meta,

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Convém que o editor que uses te permita definir o encoding do ficheiro, senão acabas com 3 problemas de encoding ;)

Na definição de encoding de uma página HTML entram o conteúdo do ficheiro, no editor que usaste para escrever o conteúdo tens de usar o mesmo encoding que defines na tag meta, senão tens duas "instruções" contraditórias, e entra a tag meta que diz ao browser que tipo de encoding é usado na página.

Para veres em que encoding está o conteúdo podes definir o tipo de codificação que queres que o browser veja, fazes isso nas opções do browser, no FireFox é no menu View/Ver, se alternares entre vários encodings podes ver o efeito de teres encodings errados.

Se estás a obter dados da BD tens de ter em conta que o encoding que tens na tag meta deverá ser o mesmo do usado no ficheiro e do que é usado pelos dados que vêm da BD. Se tiveres todos com o mesmo, não tens erros na página.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Sota    0
Sota

aparentemente já tinha isso defenido:S

no entanto n percebo mesmo porque é que numa das pagina a que vou buscar a BD tenho o os caracteres enrado e na outra que faz a mesma coisa já esta bom :S

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade