Modificar codificação:
( 1) Pare o serviço primeiro
( 2 ) Modifique o arquivo my.ini
( 3 ) Instruções para reiniciar o serviço:
Se as bibliotecas e tabelas foram construídas antes da modificação do my.ini , então a codificação das bibliotecas e tabelas ainda é a Latin1 original . Exclua-o e reconstrua-o ou use-o
A instrução alter modifica a codificação.
mysql> cria banco de dados 0728 db charset Latin1; Consulta OK, 1 linha afetada ( 0,00 seg) |
mysql> use 0728db; Banco de dados alterado |
mysql> alter table student charset utf8; #Modificar codificação de caracteres da tabela para UTF8 Consulta OK, 0 linhas afetadas ( 0,01 seg) Registros: 0 Duplicados: 0 Avisos : 0 mysql> mostrar criar tabela aluno \G *************************** 1. linha ******************** ******* Mesa : estudante Criar tabela : CREATE TABLE `aluno` ( `id` int ( 11 ) NÃO NULO , `name` varchar ( 20 ) CHARACTER SET latin1 DEFAULT NULL , #O campo ainda é codificado em latin1 PRIMARY KEY ( `id` ) ) MOTOR = InnoDB DEFAULT CHARSET =utf8 1 linha em conjunto ( 0,00 seg) mysql> alter table student modificar nome varchar ( 20 ) charset utf8; #Modifique a codificação de caracteres do campo para UTF8 Consulta OK, 0 linhas afetadas ( 0,05 seg) Registros: 0 Duplicados: 0 Avisos : 0 mysql> mostrar criar tabela aluno \G *************************** 1. linha ******************** ******* Mesa : estudante Criar tabela : CREATE TABLE `aluno` ( `id` int ( 11 ) NÃO NULO , `nome` varchar ( 20 ) DEFAULT NULL , CHAVE PRIMÁRIA ( `id` ) ) MOTOR = InnoDB DEFAULT CHARSET =utf8 1 linha em conjunto ( 0,00 seg) |
mysql> mostrar criar banco de dados 0728 db;; +--------+---------------------------------------- -------------------------+ | Banco de dados | Criar banco de dados | +------+------------------------------------------ -------------------------+ | 0728 dB| CRIAR BANCO DE DADOS `0728db` /*!40100 CONJUNTO DE CARACTERES PADRÃO latin1 */ | +------+------------------------------------------ -------------------------+ 1 linha em conjunto ( 0,00 seg) mysql> alter database 0728 db charset utf8; #Modifique a codificação de caracteres do banco de dados para utf8 Consulta OK, 1 linha afetada ( 0,00 seg) |
mysql> create table student (id int , name varchar(20)) charset Latin1; Query OK, 0 rows affected (0.02 sec) mysql> show create table student\G *************************** 1. row *************************** Table: student Create Table: CREATE TABLE `student` ( `id` int(11) NOT NULL, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec) |
mysql> show create database 0728db; +--------+-----------------------------------------------------------------+ |Database| Create Database | +--------+-----------------------------------------------------------------+ | 0728db | CREATE DATABASE `0728db` /*!40100 DEFAULT CHARACTER SET utf8 */ | +--------+-----------------------------------------------------------------+ 1 row in set (0.00 sec) |