Modificar codificación:
( 1) Detenga el servicio primero
( 2 ) Modificar el archivo my.ini
( 3 ) Instrucciones para reiniciar el servicio:
Si las bibliotecas y tablas se crearon antes de que se modificara my.ini , entonces la codificación de las bibliotecas y tablas sigue siendo la Latin1 original . Elimínela y reconstrúyala, o use
La declaración alter modifica la codificación.
mysql> crear base de datos 0728 db charset Latin1; Consulta correcta, 1 fila afectada ( 0,00 seg) |
mysql> use 0728db; Base de datos cambiada |
mysql> alterar el juego de caracteres de estudiante de tabla utf8; #Modificar la codificación de caracteres de la tabla a UTF8 Consulta correcta, 0 filas afectadas ( 0,01 seg.) Registros: 0 Duplicados: 0 Advertencias : 0 mysql> mostrar crear tabla estudiante \G **************************** 1. fila ******************** ******* Tabla : estudiante Crear tabla : CREAR TABLA `estudiante` ( `id` int ( 11 ) NO NULO , `name` varchar ( 20 ) CHARACTER SET latin1 DEFAULT NULL , #El campo todavía está codificado en latin1 PRIMARY KEY ( `id` ) ) MOTOR = InnoDB JUEGO DE CARACTERES PREDETERMINADO = utf8 1 fila en conjunto ( 0,00 seg) mysql> alterar tabla estudiante modificar nombre varchar ( 20 ) conjunto de caracteres utf8; #Modificar la codificación de caracteres del campo a UTF8 Consulta OK, 0 filas afectadas ( 0,05 segundos) Registros: 0 Duplicados: 0 Advertencias : 0 mysql> mostrar crear tabla estudiante \G **************************** 1. fila ******************** ******* Tabla : estudiante Crear tabla : CREAR TABLA `estudiante` ( `id` int ( 11 ) NO NULO , `nombre` varchar ( 20 ) NULO PREDETERMINADO , CLAVE PRIMARIA ( `id` ) ) MOTOR = InnoDB JUEGO DE CARACTERES PREDETERMINADO = utf8 1 fila en conjunto ( 0,00 seg) |
mysql> show crear base de datos 0728 db;; +--------+---------------------------------------- -------------------------+ | Base de datos | Crear base de datos | +------+------------------------------------------ -------------------------+ | 0728 decibeles| CREAR BASE DE DATOS `0728db` /*!40100 CONJUNTO DE CARACTERES PREDETERMINADO latin1 */ | +------+------------------------------------------ -------------------------+ 1 fila en conjunto ( 0,00 seg) mysql> alterar base de datos 0728 db charset utf8; #Modificar la codificación de caracteres de la base de datos a utf8 Consulta OK, 1 fila afectada ( 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) |