如果用戶想改變表的默認字符集和所有的字符列的字符集到一個新的字符集,使用下面的語句:
敦煌網站建設公司創新互聯,敦煌網站設計制作,有大型網站制作公司豐富經驗。已為敦煌數千家提供企業網站建設服務。企業網站搭建\外貿營銷網站建設要多少錢,請找那個售后服務好的敦煌做網站的公司定做!
ALTER
TABLE
tbl_name
CONVERT
TO
CHARACTER
SET
charset_name;警告:上述操作是在字符集中轉換列值。如果用戶在字符集(如
gb2312)中有一個列,但存儲的值使用的是其它的一些不兼容的字符集(如
utf8),那么該操作將不會得到用戶期望的結果。在這種情況下,用戶必須對每一列做如下操作:
ALTER
TABLE
t1
CHANGE
c1
c1
BLOB;
ALTER
TABLE
t1
CHANGE
c1
c1
TEXT
CHARACTER
SET
utf8;
這樣做的原因是:從
BLOB
列轉換或轉換到
BLOB
列沒有轉換發生。
如果用戶指定以二進制進行
CONVERT
TO
CHARACTER
SET,則
CHAR、VARCHAR
和
TEXT
列將轉換為它們對應的二進制字符串類型(BINARY,VARBINARY,BLOB)。這意味著這些列將不再有字符集,隨后的
CONVERT
TO
操作也將不會作用到它們上。
如果僅僅改變一個表的缺省字符集,可使用下面的語句:
ALTER
TABLE
tbl_name
DEFAULT
CHARACTER
SET
charset_name;
DEFAULT是可選的。當向一個表里添加一個新的列時,如果沒有指定字符集,則就采用缺省的字符集(例如當ALTER
TABLE
...
ADD
column)。
ALTER
TABLE
...
DEFAULT
CHARACTER
SET
和
ALTER
TABLE
...
CHARACTER
SET
是等價的,修改的僅僅是缺省的表字符集。
mysql如何更改數據庫字符編碼?借助客戶端工具很容易就可以更改了,下面來看一下。
01
打開navicat客戶端工具,在左邊找到要更改的數據庫。
02
右鍵點擊這個數據庫,在菜單上點擊數據庫屬性選項。
03
在彈出的屬性窗口上,點擊默認字符集下的下拉框。
04
在彈出的下拉選項里,點擊選中要使用的字符集就行了,比如選擇常用的utf8字符集,點擊ok按鈕就行了。
如果沒有配置好cmd里面的mysql 環境變量,那就在系統高級設置那兒進行MySQL的環境變量設置。
win+R,調出“運行”,輸入cmd,回車
登錄數據庫,
查看數據庫
查看數據庫字符編碼
通過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 character_set_system=utf8;
mysql set collation_connection=utf8;
mysql set collation_database=utf8;
mysql set collation_server=utf8;
當然還有:
修改數據庫的字符集mysqluse mydb
mysqlalter database mydb character set utf8;
創建數據庫指定數據庫的字符集
mysqlcreate database mydb character set utf8;
ALTER TABLE `test`
DEFAULT CHARACTER SET=utf8;
小的字符集可以向大的修改,大的不能修改到小的字符集,gbk可以修改到utf8,但是utf8修改到gbk會出現亂碼,自己斟酌一下
首先,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參數方便管理。
網頁題目:怎么修改mysql的字符 mysql字符集怎么改
分享鏈接:http://m.kartarina.com/article32/dodeesc.html
成都網站建設公司_創新互聯,為您提供ChatGPT、企業網站制作、App開發、建站公司、靜態網站、營銷型網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯