mysql數據庫如何設置字符集(mysql數據庫字符集怎麼改)

  • 1、mysql 更改數據庫字符編碼的方法
  • 2、如何更改mysql數據庫的字符集
  • 3、怎樣修改mysql數據庫字符集
  • 4、如何設置Mysql數據庫默認的字符集編碼為GBK
  • 5、mysql中怎麼設置字符集
  • 6、mysql建表的時候設置表裏面的字段的字符集是utf-8要怎麼設置?默認建好後我去mysql里看字符集都是gbk

mysql如何更改數據庫字符編碼?藉助客戶端工具很容易就可以更改了,下面來看一下。

01

打開navicat客戶端工具,在左邊找到要更改的數據庫。

02

右鍵點擊這個數據庫,在菜單上點擊數據庫屬性選項。

03

在彈出的屬性窗口上,點擊默認字符集下的下拉框。

04

在彈出的下拉選項里,點擊選中要使用的字符集就行了,比如選擇常用的utf8字符集,點擊ok按鈕就行了。

(1) 最簡單的修改方法,就是修改mysql的my.ini文件中的字符集鍵值,

如 default-character-set = utf8

character_set_server = utf8

修改完後,重啟mysql的服務,service mysql restart

使用 mysql SHOW VARIABLES LIKE ‘character%’;查看,發現數據庫編碼均已改成utf8

+————————–+———————————+ | Variable_name | Value | +————————–+———————————+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | D:”mysql-5.0.37″share”charsets” | +————————–+———————————+

(2) 還有一種修改mysql默認字符集的方法,就是使用mysql的命令

mysql SET character_set_client = utf8 ; mysql SET character_set_connection = utf8 ; mysql SET character_set_database = utf8 ; mysql SET character_set_results = utf8 ; mysql SET character_set_server = utf8 ; mysql SET collation_connection = utf8 ; mysql SET collation_database = utf8 ; mysql SET collation_server = utf8 ;

一般就算設置了表的mysql默認字符集為utf8並且通過UTF-8編碼發送查詢,你會發現存入數據庫的仍然是亂碼。問題就出在這個connection連接層上。解決方法是在發送查詢前執行一下下面這句:

SET NAMES ‘utf8’;

它相當於下面的三句指令:

SET character_set_client = utf8; SET character_set_results = utf8; SET character_set_connection = utf8;

首先,MySQL的字符集問題主要是兩個概念,一個是Character Sets,一個是Collations,前者是字符內容

及編碼,後者是對前者進行比較操作的一些規則。這兩個參數集可以在數據庫實例、單個數據庫、表、列等四個級

別指定。

對於使用者來說,一般推薦使用utf8編碼來存儲數據。而要解決亂碼問題,不單單是MySQL數據的存儲問題,還

和用戶的程序文件的編碼方式、用戶程序和MySQL數據庫的連接方式都有關係。

首先,MySQL有默認的字符集,這個是安裝的時候確定的,在編譯MySQL的時候可以通過DEFAULT_CHARSET=

utf8和DEFAULT_COLLATION=utf8_general_ci這兩個參數(MySQL5.5版本,5.1版本用–with-charset=

utf8 –with-collation=utf8_general_ci)來指定默認的字符集為utf8,這也是最一勞永逸的辦法,這樣指定後,

客戶端連接到數據庫的編碼方式也默認是utf8了,應用程序不需要任何處理。

但是遺憾的是,很多人編譯安裝MySQL的時候沒有指定這兩個參數,大多數人更是通過二進制程序的方式安裝,那

么這時候MySQL的默認字符集是latin1。而這時候我們仍然可以指定MySQL的默認字符集,通過my.cnf文件增加

兩個參數:

1.在[mysqld]下添加

default-character-set=utf8(mysql 5.5 版本添加character-set-server=utf8)

2.在[client]下添加

default-character-set=utf8

這樣我們建數據庫建表的時候就不用特別指定utf8的字符集了。配置文件里的這種寫法解決了數據存儲和比較的問題

,但是對客戶端的連接是沒有作用的,客戶端這時候一般需要指定utf8方式連接才能避免亂碼。也就是傳說總的set

names命令。事實上,set names utf8命令對應的是服務器端以下幾個命令:

SET character_set_client = utf8;

SET character_set_results = utf8;

SET character_set_connection = xutf8;

但這三個參數是不能寫在配置文件my.cnf里的。只能通過set命令來動態修改。我們需要的是在配置文件里寫好一勞

永逸的辦法。那麼這時候,是否有在服務端解決問題的辦法呢,可行的思路是在init_connect里設置。這個命令在每

個普通用戶連接上來的時候都會觸發執行,可以在[mysqld]部分增加以下一行設置連接字符集:

在[mysqld]下添加:

init_connect = ‘SET NAMES utf8’

總結:

1、首選在編譯安裝MySQL的時候指定兩個參數使用utf8編碼。

2、次選在配置文件my.cnf或my.ini設定兩個參數,同時設置init_connect參數。

3、第三在配置文件my.cnf或my.ini設定兩個參數,同時客戶端的連接指定set names命令。

4、在配置文件my.cnf里的client和server處加入default-character-set參數方便管理。

1、更改服務器的編碼方式,在終端輸入以下命令:

mysqld –character-set-server=gbk –collation-server=gbk_chinese_ci;

2、更改某個數據庫的編碼方式

mysql -u root -p

alter database character set gbk collate gbk_chinese_ci;

3、在創建數據庫時指定編碼:

mysql -u root -p 

create database db_name character set gbk collate gbk_chinese_ci;

4、更改某個表的編碼方式

mysql -u root -p db_name

alter table table_name convert to  charachter set gbk collate gbk_chinese_ci;

5、在創建表時指定編碼方式

mysql -u root -p db_name

create table table_name (….) character set gbk collate gbk_chinese_ci;

6、更改某行的編碼方式

mysql -u root -p db_name

alter table table_name modify column_name varchar(20) character set gbk collate gbk_chinese_ci;

7、在創建列時指定編碼方式:

/prepre name=”code” class=”sql”mysql -u root -p db_name

create table table_name (…, col1 varchar(20) character set gbk collate gbk_chinese_ci, …) character set utf8 collate utf8_general_ci;

方法1:通過客戶端修改表字段的默認字符集

打開SQLyog客戶端,連接數據庫如下圖所示,點擊connection 按鈕 連接數據庫

我的數據庫名稱為edu,然後我隨意找到數據庫中test2表,右鍵—–》Alter Table

如果安裝數據庫的 時候 沒有選擇字符集設置,那麼mysql數據庫默認為latin1,在箭頭部分選擇utf8字符集

方法2:用數據庫命令修改字符集

首先查看當前數據庫字符集,在命令框中執行如下命令:show variables like ‘character_set_%’;

查看字符集排序設置,執行命令:show variables like ‘collation_%’;

修改服務器級別字符集,執行命令:

1,臨時修改:SET GLOBAL character_set_server=utf8;

修改表級別,命令如下:ALTER TABLE table_name DEFAULT CHARSET utf8;

修改數據庫級別,命令如下:use edu(換成你要修改的數據庫名,在這裡我的數據庫為edu),,然後執行命令:alter database edu character set utf-8;

或者修改mysql的my.ini文件中的字符集鍵值

[mysql]

[mysqld]

重啟mysql

1、建表時指定字符集utf-8:

CREATE TABLE 表名

(  `id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,

`content` VARCHAR( 255 ) NOT NULL)

DEFAULT CHARACTER SET = utf8;

2、修改表的字符集為utf-8:

alter table 表名 convert to character set utf8;

擴展資料:

1、創建數據庫時設置字符集:

CREATE DATABASE 數據庫名 CHARACTER SET utf8 COLLATE utf8_general_ci;

注意後面三個單詞之間是有下劃線的對於每個選項所給定的值,前面沒有等號;在第一個選項和第二個選項之間也沒有逗號。

2、修改數據庫的字符集:

alter database 數據庫名 character set utf8;

3、顯示某數據庫字符集設置:

show create database 數據庫名;

4、顯示某數據表字符集設置:

show create table 表名;

5、修改字段:

alter table 表名 modify column ‘字段名’ varchar(30) character set utf8 not null;

6、添加表字段:

alter table 表名 add column ‘字段名’ varchar (20) character set utf8;

原創文章,作者:WEIET,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/127002.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WEIET的頭像WEIET
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:13

相關推薦

  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • 如何設置Python環境變量

    Python是一種流行的腳本編程語言,它可以在不同的操作系統和平台上運行。但是,在使用Python時,我們需要設置Python環境變量,以便系統能夠正確地找到Python解釋器和相…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • 如何設置chrome不同步手機歷史記錄

    使用chrome瀏覽器時,在登錄chrome賬號的情況下,由於默認同步功能,瀏覽器歷史記錄等數據都會同步到其他設備上,但是有時候我們並不想這麼做,比如為了保護隱私、避免干擾等等。所…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • 如何設置文件排版格式為中心

    對於任何類型和規模的項目,文件排版格式都是至關重要的。一個整潔、一致的文件排版可以增強代碼的可讀性,更容易維護。在這篇文章中,我將從多個方面詳細闡述如何設置文件排版格式為中心。 一…

    編程 2025-04-28
  • Python IDLE如何設置中文運行環境

    Python IDLE是Python的集成開發環境,使用它可以方便地編寫、調試和執行Python程序。但是,默認情況下Python IDLE的運行環境是英文環境,如果需要在Pyth…

    編程 2025-04-27
  • Think-ORM數據模型及數據庫核心操作

    本文主要介紹Think-ORM數據模型建立和數據庫核心操作。 一、模型定義 Think-ORM是一個開源的ORM框架,用於簡化在PHP應用中(特別是ThinkPHP)與關係數據庫之…

    編程 2025-04-27

發表回復

登錄後才能評論