1. Alterar o collation da base de dados:
ALTER DATABASE ‘base-de-dados’ DEFAULT CHARACTER SET charset COLLATE collation;
Ex:
ALTER DATABASE `base_de_dados` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
ALTER DATABASE `base_de_dados` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Ex:
ALTER DATABASE `base_de_dados` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
ALTER DATABASE `base_de_dados` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
2. Alterar o collation da tabela:
ALTER TABLE ‘tabela’ DEFAULT CHARACTER SET charset COLLATE collation;
Ex:
ALTER TABLE `produtos` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
ALTER TABLE `clientes` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Ex:
ALTER TABLE `produtos` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
ALTER TABLE `clientes` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
3. Alterar o collation do campo de uma tabela:
ALTER TABLE tabela CHANGE campo_nomeatual campo_novonome tipo(tamanho) CHARACTER SET encoding COLLATE collation;
Ex:
ALTER TABLE `produtos` CHANGE `nome` `nome` TEXT CHARACTER SET latin1 COLLATE latin1_general_ci;
ALTER TABLE `clientes` CHANGE `nome` `nome` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci;
Ex:
ALTER TABLE `produtos` CHANGE `nome` `nome` TEXT CHARACTER SET latin1 COLLATE latin1_general_ci;
ALTER TABLE `clientes` CHANGE `nome` `nome` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci;
Fonte:
Bom dia.
ResponderExcluirMinha dúvida é a seguinte: mesmo eu definindo o charset como utf8 os caracteres especiais não são gravados na tabela? No meu caso as cedilhas e outros acentos não aparecem como vieram do formulário.