Ir para conteúdo

POWERED BY:

Arquivado

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

spinow

Desafio MySQL (ACENTUAÇÃO)

Recommended Posts

Gente, não é a primeira vez que eu posto sobre isso, me perdoem, mas é que eu acho que estava postando no lugar errado.Seguinte, utilizando o phpMyAdmin 2.11.0 através do meu provedor (kinghost), montei um BD e utilizei em uma aplicação ASP. Tudo funciona perfeitamente enquanto na net.Preciso desta aplicação rodando em uma intranet local, por isso, exportei o banco para o servidor mysql em minha máquina local. Legal! Mas quando abro as páginas... CONSTRUÇÕES vira CONSTRU€åES, por exemplo.Mas no Banco de Dados está tudo ok, aparece CONSTRUÇÕES mesmo.O bom que se eu insiro através das páginas, CONSTRUÇÕES, no banco é gravado errado, mas depois nas páginas aparece corretamente...Creio que não seja problema com ASP, pois, na internet funciona perfeitamente...Já pesquisei muito muito sobre o assunto e até agora não consegui sucesso...Uso character set latin1 e collation latin1_swedish_ci , mas já tentei utf8 e tudo o que é possível...Inclusive, uma outra aplicação, em uma outra máquina, acontece o mesmo, no banco grava errado, mas aparece correto nas páginas... Até ai beleza, mas tenho receio de que mais pra frente dê problema, caso eu tenha que exportar...Não é possivel q ninguem tenha tido este problema tbm...Por favor, se puderem me ajudar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com toda certeza, o collation e o cheracter set do seu ambiente de desenvolvimento não são os mesmos do ambiente de produção.

O banco de dados não grava errado, está faltando alinhamento destas caracteríticas.

 

Nos dois ambientes, execute os seguintes comandos:

 

CHARACTER SET:

 

SHOW VARIABLES LIKE '%CHARACTER%';

 

COLLATION:

 

SHOW VARIABLES LIKE '%COLLATION%';

 

Compare os resultados e procure alinhá-los...ainda existe a diferença de Linux e Windows.

 

Continue o post que iremos te ajudando!! Abração... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wagner, muito obrigado mais uma vez pela atenção, cara! Isso tá me deixando maluko! Na verdade estou convivendo com isso há meses, mas tava dando pra levar sussa, uma vez que, se os dados são inseridos pela página e não direto no BD, no banco aparece td errado, mas nas páginas não... Mas agora danou-se, pq eu tenho q passar a aplicação pra intranet...Bem, seguinte, fiz o que você disse e mais, peguei toda a configuração das server variables no phpMyAdmin, collation_server, collation_database, até mesmo as globais, e configurei tudinho como está lá, através dos comandos SET character_set_server = latin1, por exemplo...vou te mostrar como ficou:character set client utf8 (Valor global) latin1 character set connection utf8 (Valor global) latin1 character set database latin1 character set filesystem binary character set results utf8 (Valor global) latin1 character set server latin1 character set system utf8 collation connection utf8_unicode_ci (Valor global) latin1_swedish_ci collation database latin1_swedish_ci collation server latin1_swedish_ci Assim ficaram, e o character set do BD é latin1 e collation latin1_swedish_ci.Achei que assim conseguiria, pois, já que na net tá assim e tá funcionando... mas nada! Tô loko!Será incompatibilidade de gênios MySql x ASP?? heheheCom certeza falta algo, e sei que vcs vão conseguir achar!Valew muito até agora!

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO...Gente, eu não estava utilizando nenhum software de gerenciamento mySql, portanto os caracteres apareciam (e aparecem modificados onde há acentuação). Utilizando o MySQL Administrator, meus problemas se acabaram-se. O problema parece ser com o console do mySql, li algo a respeito mas... enfim, não podemos mudar o mundo. Podemos nos adaptar a ele. Agora aprendi que sem uma versão GUI do mySql fica quase que impossível...Portanto, para os cabeça-dura como eu, que um dia encontrarem o mesmo "problema" q eu, vai ai a dica:Utilizem um programa de gerenciamento com Interface Gráfica para gerenciar seus BDs, seja o mySQL Administrator, mySqlPHPAdmin, Toad...Enfim, durmo...Abraço a todos que gastaram suas preciosas horas (de mais de U$ 30,00) comigo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, deu pra perceber que você está utilizando Windows certo?

 

Vamos exclarecer algumas coisas:tenato no server (mysqld) quanto no client (mysql) existem especificações de Collation e Character Set...se estes não estiverem alinhandos e também em conformidade com aqueles do sistema operacional, realmente não vai funcionar como se deseja, acabando por acarretar problemas claros e frutrantes como este, de caracteres " estranhos".

 

Muito bem, quando você instalou o administrator, o mesmo reconheceu o Collation e o Character Set do seu banco de dados e ajustou isso internamente automaticamente, através de uma arquivo chamado "db.opt", que se encontra dentro do diretório do seu banco de dados. Sabe o que tem dentro dele? Justamente, o Collation e o Character Set utilizando pelo seu banco!

 

O tratamento do MySQL quanto a estes dois parâmetros é muito mais complexo do que poderíamos abordar aqui e esse tipo de problema acontece muito por causa realmente da complexidade com que ele se expande dentro do SGBD.

 

Eu mesmo não gosto de nenhuma GUI, já tive esses problemas e continuo usando o terminal ou o prompt em alguns casos.

 

Espero ter esclarecido. Caso tenham alguma dúvida, continuem postando!!

 

Abração!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.