Ir para conteúdo

POWERED BY:

Arquivado

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

killer_

[Resolvido] acentuação

Recommended Posts

eu tenho um arquivo .sql neste arquivo estão todas as informações q necessito

e entre elas estão palavras acentuadas

 

mas quando eu importo esse arquivo sql e faço um select para exibir as informações, todas as letras de palavras acentuada desaparecem

 

exemplo

 

Informações

 

só aparece

 

Informaes

 

o problema esta no select ou no importar desse arquivo?

 

obs: TYPE=MyISAM tem alguma coisa haver com isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigão,Execute os seguintes comandos e verifique os resultados:

1-) SHOW VARIABLES LIKE '%CHARACTER%';2-) SHOW VARIABLES LIKE '%COLLATION%';

...verifique se os resultados estão iguais a estes:

mysql> SHOW VARIABLES LIKE '%characte%';+--------------------------+---------------------------------------+| Variable_name            | Value                                 |+--------------------------+---------------------------------------+| character_set_client     | latin1                                || character_set_connection | latin1                                || character_set_database   | latin1                                || character_set_results    | latin1                                || character_set_server     | latin1                                || character_set_system     | utf8                                  || character_sets_dir       | C:apache2triadmysqlsharecharsets |+--------------------------+---------------------------------------+7 rows IN SET (0.00 sec)mysql> SHOW VARIABLES LIKE '%collation%';+----------------------+-------------------+| Variable_name        | Value             |+----------------------+-------------------+| collation_connection | latin1_swedish_ci || collation_database   | latin1_swedish_ci || collation_server     | latin1_swedish_ci |+----------------------+-------------------+3 rows IN SET (0.00 sec)

...caso não, o seu problema está no CHARACTER SET e no COLLATION que seu banco está utilizando, que está diferente que os padrãoes que usamos e/ou os padrões do arquivo de texto que o SGBD está lendo para gerar a entrada na tabela de destino...

obs: TYPE=MyISAM tem alguma coisa haver com isso?

NÃO! MyISAM é somente é storage engine ou tipo de armazenamento de dados que sua tabela utiliza, o padrão do MySQL, leia mais em: http://wagnerbianchi.blogspot.com/2007/08/...e-types-no.htmlContinue postando!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

sahuhsahsau.....tah totalmente errado

 

tá assim

 

SHOW VARIABLES LIKE '%characte%';

 

character_set_client		utf8character_set_connection		utf8character_set_database			latin1character_set_filesystem		binarycharacter_set_results			  utf8character_set_server			  latin1character_set_system			 utf8character_sets_dir			C:\Arquivos de programas\MySQL\MySQL Server 5.0\share\charsets\

SHOW VARIABLES LIKE '%COLLATION%';

collation_connection			utf8_general_cicollation_database			  latin1_swedish_cicollation_server				 latin1_swedish_ci

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigão,Execute os seguintes comandos e verifique os resultados:

1-) SHOW VARIABLES LIKE '%CHARACTER%';2-) SHOW VARIABLES LIKE '%COLLATION%';

...verifique se os resultados estão iguais a estes:

mysql> SHOW VARIABLES LIKE '%characte%';+--------------------------+---------------------------------------+| Variable_name            | Value                                 |+--------------------------+---------------------------------------+| character_set_client     | latin1                                || character_set_connection | latin1                                || character_set_database   | latin1                                || character_set_results    | latin1                                || character_set_server     | latin1                                || character_set_system     | utf8                                  || character_sets_dir       | C:apache2triadmysqlsharecharsets |+--------------------------+---------------------------------------+7 rows IN SET (0.00 sec)mysql> SHOW VARIABLES LIKE '%collation%';+----------------------+-------------------+| Variable_name        | Value             |+----------------------+-------------------+| collation_connection | latin1_swedish_ci || collation_database   | latin1_swedish_ci || collation_server     | latin1_swedish_ci |+----------------------+-------------------+3 rows IN SET (0.00 sec)

...caso não, o seu problema está no CHARACTER SET e no COLLATION que seu banco está utilizando, que está diferente que os padrãoes que usamos e/ou os padrões do arquivo de texto que o SGBD está lendo para gerar a entrada na tabela de destino...

obs: TYPE=MyISAM tem alguma coisa haver com isso?

NÃO! MyISAM é somente é storage engine ou tipo de armazenamento de dados que sua tabela utiliza, o padrão do MySQL, leia mais em: http://wagnerbianchi.blogspot.com/2007/08/...e-types-no.htmlContinue postando!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
como faço para alterar os valores destas variáveis?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para alterar o collation e o character set:

 

ALTER DATABASE db_name
    alter_specification [, alter_specification] ...

alter_specification:
    [DEFAULT] CHARACTER SET charset_name
  | [DEFAULT] COLLATE collation_name

 

 

FAÇA UM BACKUP ANTES: http://forum.imasters.com.br/index.php?showtopic=248806

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ai wagner !!

 

Amigo tbm estou tendo problemas o meu esta assim:

mysql> SHOW VARIABLES LIKE '%CHARACTER%';+--------------------------+-----------------------------------------------------------------+| Variable_name			| Value			 |+--------------------------+-----------------------------------------------------------------+| character_set_client	 | latin1			 || character_set_connection | latin1			 || character_set_database   | latin1			 || character_set_filesystem | binary			 || character_set_results	| latin1			 || character_set_server	 | latin1			 || character_set_system	 | utf8			 || character_sets_dir	   | C:\Arquivos de programas\MySQL\MySQL Server 5.0\share\charsets\ |+--------------------------+-----------------------------------------------------------------+8 rows in set (0.02 sec)mysql> SHOW VARIABLES LIKE '%collation%';+----------------------+-------------------+| Variable_name		| Value			 |+----------------------+-------------------+| collation_connection | latin1_swedish_ci || collation_database   | latin1_swedish_ci || collation_server	 | latin1_swedish_ci |+----------------------+-------------------+3 rows in set (0.00 sec)

 

mas eu não consigo congurar..

você me da uma apoio ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza Wagner peço desculpas pela demora

 

eu lutei um tempão aki tentando alterar as variáveis...porem sem sucesso

 

você poderia colocar um exemplo ae

 

eu tentei

 

ALTER DATABASE clientes alter_specification ['latin1' CHARACTER SET character_set_client];
ALTER DATABASE clientes alter_specification [[DEFAULT] CHARACTER SET character_set_client];

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu andei fuçando mais um poco e axei um arquivo chamado db.opt

neste arquivo existem essas 2 linhas

 

default-character-set=latin1default-collation=latin1_swedish_ci

é normal aparecerem apenas essas 2 linhas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema pode ser que o seu client usa utf8 e o seu server está usando latin1. . .são conjunto de caracteres distintos.

 

Os campos CHAR ou VARCHAR da tabela estão setados como BINARY ?

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema pode ser que o seu client usa utf8 e o seu server está usando latin1. . .são conjunto de caracteres distintos.

 

Os campos CHAR ou VARCHAR da tabela estão setados como BINARY ?

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Olá Wagner, estou iniciando um projeto e vou montar todo baseado em utf8, minhas páginas de cadastro esta em utf8 e meu banco, coluna e tabela esta em utf8

 

mas meu SHOW VARIABLES LIKE 'c%' mostra q tem algumas váriaveis em latin1.....

 

"character_set_client utf8"

"character_set_connection utf8"

"character_set_database utf8"

"character_set_filesystem binary"

"character_set_results utf8"

"character_set_server latin1"

"character_set_system utf8"

"character_sets_dir /usr/share/mysql/charsets/"

"collation_connection utf8_general_ci"

"collation_database utf8_unicode_ci"

"collation_server latin1_swedish_ci"

"completion_type 0"

"concurrent_insert 1"

"connect_timeout 5"

 

 

 

O q ocorre quando salva informações direto pelo banco através de um phpmyadmin ou sqlyog a acentuação dentro do banco fica certo, mas quando eu salvo de uma página de formulário web a acentuação no banco fica em forma código, mas na visualização na página fica correta....

 

- gostaria de saber se o "character_set_server latin1" e "collation_server latin1_swedish_ci" são os causadoras do problema,

 

- como posso alterar estes valores

 

- e em um server compartilhado se alterar estes valores vai dar pau nos outros bancos???

 

 

desde ja agradeço a atenção...vlw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei o problema da minha dúvida acima, resolvi assim:::

 

no arquivo de conexão com o banco defini

 

mysql_query("SET NAMES 'utf8'");

 

 

 

abs

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.