5
respostas

MYSQL não imprime os acentos. Como alterar para funcionar! (windows 10 , estou usando ComEmu)

mysql> select * from curso; +----+---------------------------------+ | id | nome | +----+---------------------------------+ | 1 | SQL e banco de dados | | 2 | Desenvolvimento web com VRaptor | | 3 | Scrum e m├®todos ├ígeis | | 4 | PHP e MySql | +----+---------------------------------+ 4 rows in set (0.00 sec)

5 respostas

Oi ricardo, tudo bom?

Os acentos estão dando esse problema porque o padrão de character set (charset) do mysql não é UTF8 (o que utilizamos normalmente).

Você pode converter o chartset ao selecionar uma coluna utilizando Convert() e Cast(), segue a documentação:

http://dev.mysql.com/doc/refman/5.7/en/charset-convert.html

Você também pode definir o charset UTF8 como padrão da sua tabela ao cria-la (ou alterar):

CREATE DATABASE mydb
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;

segue documentação:

https://dev.mysql.com/doc/refman/5.7/en/charset-applications.html

Espero ter ajudado =)

Qualquer dificuldade, compartilhe com a gente!

Ja alterei mas mesmo assim continua imprimindo sem os acentos quanto faço o select.

mysql> ALTER DATABaSE SQL2 -> DEFAULT CHARACTER SET utf8 -> DEFAULT COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec)

mysql> select * from curso; +----+---------------------------------+ | id | nome | +----+---------------------------------+ | 1 | SQL e banco de dados | | 2 | Desenvolvimento web com VRaptor | | 3 | Scrum e m├®todos ├ígeis | | 4 | PHP e MySql | +----+---------------------------------+ 4 rows in set (0.00 sec)

mysql>

Verifica pra mim qual Collation consta na sua tabela curso:

SHOW FULL COLUMNS FROM curso;

Para termos certeza se foi alterado =)

Você também pode tentar alterar o charset da propria table:

alter table curso convert to character set utf8 collate utf8_unicode_ci;

Dei SHOW TABLE STATUS; Estão todas utf8_general_ci

Sera que não é no CMD?