回覆列表
  • 1 # 使用者3977671246998

    -- 建立資料庫時,設定資料庫的編碼方式

    -- 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;

  • 中秋節和大豐收的關聯?
  • 坐動車能帶殺好的雞嗎?