程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql服務器字符集查詢和設置方法

mysql服務器字符集查詢和設置方法

編輯:關於MYSQL數據庫

       1、查看 MySQL 數據庫服務器和數據庫字符集

      show variables like '%char%';

      2、查看當前安裝的 MySQL 所支持的字符集。

      show charset;

      3、設置編碼:

      修改my.cnf

      vi /etc/my.cnf

      在[client]下添加

      default-character-set=utf8

      在[mysqld]下添加

      default-character-set=utf8

      保存,重啟mysql即可;

      修改數據庫的字符集

      mysql>use mydb

      mysql>alter database mydb character set utf-8(utf8);

      創建數據庫指定數據庫的字符集

      mysql>create database mydb character set utf-8(utf8);

      或者用mysql命令修改編碼

      通過MySQL命令行修改:

      set character_set_client=utf8;

      set character_set_connection=utf8;

      set character_set_database=utf8;

      set character_set_results=utf8;

      set character_set_server=utf8;

      set character_set_system=utf8;

      set collation_connection=utf8;

      set collation_database=utf8;

      set collation_server=utf8;

      mysql修改表、字段字符集

      把表默認的字符集和所有字符列(CHAR,VARCHAR,TEXT)改為新的字符集:

      ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]

      如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

      只是修改表的默認字符集:

      ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];

      如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

      修改字段的字符集:

      ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];

      如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

      查看數據庫編碼:

      SHOW CREATE DATABASE db_name;

      查看表編碼:

      SHOW CREATE TABLE tbl_name;

      查看字段編碼:

      SHOW FULL COLUMNS FROM tbl_name;

      MySQL中的字符集轉換過程

      1. MySQL Server收到請求時將請求數據從character_set_client轉換為character_set_connection;

      2. 進行內部操作前將請求數據從character_set_connection轉換為內部操作字符集,其確定方法如下:

      • 使用每個數據字段的CHARACTER SET設定值;

      • 若上述值不存在,則使用對應數據表的DEFAULT CHARACTER SET設定值(MySQL擴展,非SQL標准);

      • 若上述值不存在,則使用對應數據庫的DEFAULT CHARACTER SET設定值;

      • 若上述值不存在,則使用character_set_server設定值。

      3. 將操作結果從內部操作字符集轉換為character_set_results。

      其他注意事項

      • my.cnf中的default_character_set設置只影響mysql命令連接服務器時的連接字符集,不會對使用libmysqlclient庫的應用程序產生任何作用!

      • 對字段進行的SQL函數操作通常都是以內部操作字符集進行的,不受連接字符集設置的影響。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved