-- 建立資料庫時,設定資料庫的編碼方式
-- CHARACTER SET:指定資料庫採用的字符集,utf8不能寫成utf-8
-- COLLATE:指定資料庫字符集的排序規則,utf8的預設排序規則為utf8_general_ci(透過show character set檢視)
drop database if EXISTS dbtest;
create database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 修改資料庫編碼
alter database dbtest CHARACTER SET GBK COLLATE gbk_chinese_ci;
alter database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 建立表時,設定表、欄位編碼
use dbtest;
drop table if exists tbtest;
create table tbtest(
id int(10) auto_increment,
user_name varchar(60) CHARACTER SET GBK COLLATE gbk_chinese_ci,
email varchar(60),
PRIMARY key(id)
)CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 修改表編碼
alter table tbtest character set utf8 COLLATE utf8_general_ci;
-- 修改欄位編碼
ALTER TABLE tbtest MODIFY email VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 檢視所有的字元編碼
SHOW CHARACTER SET;
-- 檢視建立資料庫的指令並檢視資料庫使用的編碼
show create database dbtest;
-- 檢視資料庫編碼:
show variables like "%char%";
-- 設定character_set_server、set character_set_client和set character_set_results
set character_set_server = utf8; -- 伺服器的預設字符集。使用這個語句可以修改成功,但重啟服務後會失效。根本的辦法是修改配置MYSQL檔案MY.INI,
character_set_server=utf8,配置到mysqld欄位下。
set character_set_client = gbk; -- 來自客戶端的語句的字符集。伺服器使用character_set_client變數作為客戶端傳送的查詢中使用的字符集。
set character_set_results = gbk; -- 用於向客戶端返回查詢結果的字符集。character_set_results變數指示伺服器返回查詢結果到客戶端使用的字符集。包括結果資料,例如列值和結果元資料(如列名)。
-- 檢視某欄位使用的編碼:
SELECT CHARSET(email) FROM tbtest;
-- 建立資料庫時,設定資料庫的編碼方式
-- CHARACTER SET:指定資料庫採用的字符集,utf8不能寫成utf-8
-- COLLATE:指定資料庫字符集的排序規則,utf8的預設排序規則為utf8_general_ci(透過show character set檢視)
drop database if EXISTS dbtest;
create database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 修改資料庫編碼
alter database dbtest CHARACTER SET GBK COLLATE gbk_chinese_ci;
alter database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 建立表時,設定表、欄位編碼
use dbtest;
drop table if exists tbtest;
create table tbtest(
id int(10) auto_increment,
user_name varchar(60) CHARACTER SET GBK COLLATE gbk_chinese_ci,
email varchar(60),
PRIMARY key(id)
)CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 修改表編碼
alter table tbtest character set utf8 COLLATE utf8_general_ci;
-- 修改欄位編碼
ALTER TABLE tbtest MODIFY email VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 檢視所有的字元編碼
SHOW CHARACTER SET;
-- 檢視建立資料庫的指令並檢視資料庫使用的編碼
show create database dbtest;
-- 檢視資料庫編碼:
show variables like "%char%";
-- 設定character_set_server、set character_set_client和set character_set_results
set character_set_server = utf8; -- 伺服器的預設字符集。使用這個語句可以修改成功,但重啟服務後會失效。根本的辦法是修改配置MYSQL檔案MY.INI,
character_set_server=utf8,配置到mysqld欄位下。
set character_set_client = gbk; -- 來自客戶端的語句的字符集。伺服器使用character_set_client變數作為客戶端傳送的查詢中使用的字符集。
set character_set_results = gbk; -- 用於向客戶端返回查詢結果的字符集。character_set_results變數指示伺服器返回查詢結果到客戶端使用的字符集。包括結果資料,例如列值和結果元資料(如列名)。
-- 檢視某欄位使用的編碼:
SELECT CHARSET(email) FROM tbtest;