成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

mysql字符集怎么修改 修改mysql字符集和排序規(guī)則

如何修改MySQL字符集

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

成都創(chuàng)新互聯(lián)公司憑借專業(yè)的設(shè)計團(tuán)隊扎實的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都十余年的網(wǎng)站建設(shè)設(shè)計經(jīng)驗,為成都成百上千家中小型企業(yè)策劃設(shè)計了網(wǎng)站。

及編碼,后者是對前者進(jìn)行比較操作的一些規(guī)則。這兩個參數(shù)集可以在數(shù)據(jù)庫實例、單個數(shù)據(jù)庫、表、列等四個級

別指定。

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

和用戶的程序文件的編碼方式、用戶程序和MySQL數(shù)據(jù)庫的連接方式都有關(guān)系。

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

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

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

客戶端連接到數(shù)據(jù)庫的編碼方式也默認(rèn)是utf8了,應(yīng)用程序不需要任何處理。

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

么這時候MySQL的默認(rèn)字符集是latin1。而這時候我們?nèi)匀豢梢灾付∕ySQL的默認(rèn)字符集,通過my.cnf文件增加

兩個參數(shù):

1.在[mysqld]下添加

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

2.在[client]下添加

default-character-set=utf8

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

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

names命令。事實上,set names utf8命令對應(yīng)的是服務(wù)器端以下幾個命令:

SET character_set_client = utf8;

SET character_set_results = utf8;

SET character_set_connection = utf8;

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

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

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

在[mysqld]下添加:

init_connect = 'SET NAMES utf8'

總結(jié):

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

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

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

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

更改my.ini文件client、server的字符集

1.service mysqld stop,停用mysql。

2.cp /etc/my.cnf /etc/my.cnf.bak,修改前做備份,這是個好習(xí)慣。

修改my.cnf或my.ini(只有修改配置文件,并重啟服務(wù)器,才能永久生效)

vi /etc/my.cnf

在[client]下添加,client為控制客戶端的,沒試過,沒有的可以不需要加。

default-character-set=utf8

在[mysqld]下添加,mysqld為控制服務(wù)器端的,改過了,OK。

default-character-set=utf8

3.service mysqld restart,重啟。

4.show variables like '%char%';查看。

以下為網(wǎng)絡(luò)轉(zhuǎn)載,比較全。

//////////////////////////////////////////

查看mysql字符集MySQL 亂碼的根源是的 MySQL 字符

ubuntu 10.04 mySql 啟動,停止,重啟

啟動:sudo /etc/init.d/mysql start

停止:sudo /etc/init.d/mysql stop

重啟:sudo /etc/init.d/mysql restart

注意:從windows下拷貝過來的文件在linux下不能直接加入數(shù)據(jù)庫,因為字符集不一樣,這樣打開即使顯示是中文也不能在數(shù)據(jù)庫中顯示,要把文件拷貝進(jìn)linux的另一個文件中轉(zhuǎn)換字符才可以。

MySQL 亂碼的根源是的 MySQL 字符集設(shè)置不當(dāng)?shù)膯栴},本文匯總了有關(guān)查看 MySQL 字符集的命令。包括查看 MySQL 數(shù)據(jù)庫服務(wù)器字符集、查看 MySQL 數(shù)據(jù)庫字符集,以及數(shù)據(jù)表和字段的字符集、當(dāng)前安裝的 MySQL 所支持的字符集等。

一、查看 MySQL 數(shù)據(jù)庫服務(wù)器和數(shù)據(jù)庫字符集。

 mysql show variables like '%char%';

二、查看 MySQL 數(shù)據(jù)表(table) 的字符集。

 mysql show table status from sqlstudy_db like '%countries%';

三、查看 MySQL 數(shù)據(jù)列(column)的字符集。

 mysql show full columns from countries;

四、查看當(dāng)前安裝的 MySQL 所支持的字符集。

mysql show charset;

mysql show char set;

以上查看 MySQL 字符集命令,適用于 Windows Linux。

1.查找MySQL的cnf文件的位置

find / -iname '*.cnf' -print

/usr/share/mysql/my-innodb-heavy-4G.cnf

/usr/share/mysql/my-large.cnf

/usr/share/mysql/my-small.cnf

/usr/share/mysql/my-medium.cnf

/usr/share/mysql/my-huge.cnf

/usr/share/texmf/web2c/texmf.cnf

/usr/share/texmf/web2c/mktex.cnf

/usr/share/texmf/web2c/fmtutil.cnf

/usr/share/texmf/tex/xmltex/xmltexfmtutil.cnf

/usr/share/texmf/tex/jadetex/jadefmtutil.cnf

/usr/share/doc/MySQL-server-community-5.1.22/my-innodb-heavy-4G.cnf

/usr/share/doc/MySQL-server-community-5.1.22/my-large.cnf

/usr/share/doc/MySQL-server-community-5.1.22/my-small.cnf

/usr/share/doc/MySQL-server-community-5.1.22/my-medium.cnf

/usr/share/doc/MySQL-server-community-5.1.22/my-huge.cnf

2. 拷貝 small.cnf、my-medium.cnf、my-huge.cnf、my-innodb-heavy-4G.cnf其中的一個到/etc下,命名為my.cnf

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

3. 修改my.cnf 或my.ini(5.6版本)

vi /etc/my.cnf

在[client]下添加

default-character-set=utf8

在[mysqld]下添加

default-character-set=utf8

4.重新啟動MySQL

[root@bogon ~]# /etc/rc.d/init.d/mysql restart

Shutting down MySQL [ 確定 ]

Starting MySQL. [ 確定 ]

[root@bogon ~]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.1.22-rc-community-log MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

其他的一些設(shè)置方法:

如 通過配置文件修改:

修改/var/lib/mysql/mydb/db.opt

default-character-set=latin1

default-collation=latin1_swedish_ci

default-character-set=utf8

default-collation=utf8_general_ci

重起MySQL:

[root@bogon ~]# /etc/rc.d/init.d/mysql restart

mysql建表的時候設(shè)置表里面的字段的字符集是utf-8要怎么設(shè)置?默認(rèn)建好后我去mysql里看字符集都是gbk

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

CREATETABLE?表名

(?`id`TINYINT(255)UNSIGNEDNOTNULLAUTO_INCREMENTPRIMARYKEY,

`content`VARCHAR(255)NOTNULL)

DEFAULTCHARACTERSET=utf8;

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

altertable表名converttocharactersetutf8;

擴(kuò)展資料:

1、創(chuàng)建數(shù)據(jù)庫時設(shè)置字符集:

CREATEDATABASE?數(shù)據(jù)庫名CHARACTERSETutf8COLLATEutf8_general_ci;

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

2、修改數(shù)據(jù)庫的字符集:

alterdatabase?數(shù)據(jù)庫名charactersetutf8;

3、顯示某數(shù)據(jù)庫字符集設(shè)置:

showcreatedatabase數(shù)據(jù)庫名;

4、顯示某數(shù)據(jù)表字符集設(shè)置:

showcreatetable表名;

5、修改字段:

altertable表名modifycolumn'字段名'varchar(30)charactersetutf8notnull;

6、添加表字段:

altertable表名addcolumn'字段名'varchar(20)charactersetutf8;

mysql 更改數(shù)據(jù)庫字符編碼的方法

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

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

右鍵點擊這個數(shù)據(jù)庫,在菜單上點擊數(shù)據(jù)庫屬性選項。

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

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

MySQL如何修改表格的字符集,如何修改某個字段的字符集

如果用戶想改變表的默認(rèn)字符集和所有的字符列的字符集到一個新的字符集,使用下面的語句:

ALTER

TABLE

tbl_name

CONVERT

TO

CHARACTER

SET

charset_name;警告:上述操作是在字符集中轉(zhuǎn)換列值。如果用戶在字符集(如

gb2312)中有一個列,但存儲的值使用的是其它的一些不兼容的字符集(如

utf8),那么該操作將不會得到用戶期望的結(jié)果。在這種情況下,用戶必須對每一列做如下操作:

ALTER

TABLE

t1

CHANGE

c1

c1

BLOB;

ALTER

TABLE

t1

CHANGE

c1

c1

TEXT

CHARACTER

SET

utf8;

這樣做的原因是:從

BLOB

列轉(zhuǎn)換或轉(zhuǎn)換到

BLOB

列沒有轉(zhuǎn)換發(fā)生。

如果用戶指定以二進(jìn)制進(jìn)行

CONVERT

TO

CHARACTER

SET,則

CHAR、VARCHAR

TEXT

列將轉(zhuǎn)換為它們對應(yīng)的二進(jìn)制字符串類型(BINARY,VARBINARY,BLOB)。這意味著這些列將不再有字符集,隨后的

CONVERT

TO

操作也將不會作用到它們上。

如果僅僅改變一個表的缺省字符集,可使用下面的語句:

ALTER

TABLE

tbl_name

DEFAULT

CHARACTER

SET

charset_name;

DEFAULT是可選的。當(dāng)向一個表里添加一個新的列時,如果沒有指定字符集,則就采用缺省的字符集(例如當(dāng)ALTER

TABLE

...

ADD

column)。

ALTER

TABLE

...

DEFAULT

CHARACTER

SET

ALTER

TABLE

...

CHARACTER

SET

是等價的,修改的僅僅是缺省的表字符集。

網(wǎng)站名稱:mysql字符集怎么修改 修改mysql字符集和排序規(guī)則
文章分享:http://jinyejixie.com/article6/ddcogog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、ChatGPT、移動網(wǎng)站建設(shè)、電子商務(wù)、定制網(wǎng)站、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
贵阳市| 南郑县| 崇仁县| 洛浦县| 西宁市| 淮安市| 丰县| 阿尔山市| 邛崃市| 济源市| 扶绥县| 丰县| 平泉县| 灌阳县| 景德镇市| 卓资县| 泗水县| 旬阳县| 津南区| 墨竹工卡县| 芜湖县| 临高县| 永仁县| 通道| 云霄县| 贵州省| 武胜县| 镇原县| 香河县| 平乐县| 武鸣县| 高青县| 介休市| 铅山县| 江源县| 辽阳市| 阜康市| 东安县| 荆门市| 溧阳市| 施秉县|