mysql表怎么改字符集 mysql如何設(shè)置表的字符集

如何修改mysql表中數(shù)據(jù)字符集

如何修改mysql表中數(shù)據(jù)字符集

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、高青ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的高青網(wǎng)站制作公司

1. 修改my.ini配置文件(MySQL配置文件)

character_set_server = utf8 #設(shè)置字符集

2. 修改數(shù)據(jù)庫(kù)字符集

alter database 數(shù)據(jù)庫(kù)名 character set utf8;

3. 重啟mysql數(shù)據(jù)庫(kù)

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

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

01

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

02

右鍵點(diǎn)擊這個(gè)數(shù)據(jù)庫(kù),在菜單上點(diǎn)擊數(shù)據(jù)庫(kù)屬性選項(xiàng)。

03

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

04

在彈出的下拉選項(xiàng)里,點(diǎn)擊選中要使用的字符集就行了,比如選擇常用的utf8字符集,點(diǎn)擊ok按鈕就行了。

如何修改mysql表字段的字符集

修改mysql的默認(rèn)字符集是通過(guò)修改它的配置文件來(lái)實(shí)現(xiàn)的。一般分兩種情況:

windows平臺(tái)

windows下的mysql配置文件是my.ini,一般在c:windowsmy.ini或者c:winntmy.ini可以直接在這個(gè)文件里面加上

default-character-set=gbk

#或gb2312,big5,utf8

然后重新啟動(dòng)mysql

service

mysql

restart

/etc/init.d/mysql

restart

或用其他方法重新啟動(dòng),就生效了。

unix平臺(tái)

linux下的mysql配置文件是my.cnf,一般是/etc/my.cnf,如果找不到可以用find命令找一下:

find

/

-iname

my.cnf

在這個(gè)文件里面加上

default-character-set=gbk

#或gb2312,big5,utf8

然后重新啟動(dòng)mysql

net

stop

mysql

net

start

mysql

就生效了。

如何修改MySQL字符集

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

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

別指定。

對(duì)于使用者來(lái)說(shuō),一般推薦使用utf8編碼來(lái)存儲(chǔ)數(shù)據(jù)。而要解決亂碼問(wèn)題,不單單是MySQL數(shù)據(jù)的存儲(chǔ)問(wèn)題,還

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

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

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

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

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

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

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

兩個(gè)參數(shù):

1.在[mysqld]下添加

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

2.在[client]下添加

default-character-set=utf8

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

,但是對(duì)客戶端的連接是沒(méi)有作用的,客戶端這時(shí)候一般需要指定utf8方式連接才能避免亂碼。也就是傳說(shuō)總的set

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

SET character_set_client = utf8;

SET character_set_results = utf8;

SET character_set_connection = xutf8;

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

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

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

在[mysqld]下添加:

init_connect = 'SET NAMES utf8'

總結(jié):

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

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

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

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

復(fù)制代碼

1 -------客戶端----

2 [client]

3 no-beep

4

5 # pipe

6 # socket=mysql

7 port=3306

8

9 [mysql]

10

11 default-character-set=gb2312

12

13 -----服務(wù)器----

14

15 # The default character set that will be used when a new schema or table is

16 # created and no character set is defined

17 character-set-server=gb2312

復(fù)制代碼

1,service mysqld stop,停用mysql。

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

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

vi /etc/my.cnf

在[client]下添加,client為控制客戶端的,沒(méi)試過(guò),沒(méi)有的可以不需要加。

default-character-set=utf8

在[mysqld]下添加,mysqld為控制服務(wù)器端的,改過(guò)了,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 啟動(dòng),停止,重啟

啟動(dòng):sudo /etc/init.d/mysql start

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

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

注意:從windows下拷貝過(guò)來(lái)的文件在linux下不能直接加入數(shù)據(jù)庫(kù),因?yàn)樽址灰粯?,這樣打開(kāi)即使顯示是中文也不能在數(shù)據(jù)庫(kù)中顯示,要把文件拷貝進(jìn)linux的另一個(gè)文件中轉(zhuǎn)換字符才可以。

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

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

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其中的一個(gè)到/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.重新啟動(dòng)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è)置方法:

通過(guò)配置文件修改:

修改/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

當(dāng)前標(biāo)題:mysql表怎么改字符集 mysql如何設(shè)置表的字符集
鏈接URL:http://muchs.cn/article28/hgsijp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、電子商務(wù)、面包屑導(dǎo)航、網(wǎng)站維護(hù)、網(wǎng)站改版網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

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

成都seo排名網(wǎng)站優(yōu)化