Mysql(三)Mysql編碼問題-創(chuàng)新互聯(lián)

處理mysql編碼問題

專業(yè)領(lǐng)域包括成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、商城網(wǎng)站定制開發(fā)、微信營銷、系統(tǒng)平臺開發(fā), 與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,成都創(chuàng)新互聯(lián)公司的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。

我們經(jīng)常會遇到一些向MySQL數(shù)據(jù)庫中插入中文,但是select出來的時候,卻是亂碼。

、查看庫、表字符集命令

1.查看數(shù)據(jù)庫支持的所有字符集

Show ?character set?(show char set)

Mysql (三)Mysql 編碼問題

2.查看當(dāng)前狀態(tài),里面當(dāng)然包括字符集的設(shè)置

Status/s

Mysql (三)Mysql 編碼問題

3.查看系統(tǒng)字符集設(shè)置,包括所有的字符集設(shè)置

Show? variables?like? ‘%char%’;

Mysql (三)Mysql 編碼問題

Mysql (三)Mysql 編碼問題

4.查看數(shù)據(jù)表中字符集設(shè)置

Show? full?columns? from? tablename ;

Mysql (三)Mysql 編碼問題

也可以查看表結(jié)構(gòu)

Show? create?table? tablename\G;

Mysql (三)Mysql 編碼問題

5.查看數(shù)據(jù)庫編碼(數(shù)據(jù)庫結(jié)構(gòu))

Show? create?database? dbname;//創(chuàng)建數(shù)據(jù)庫指定的字符集

Mysql (三)Mysql 編碼問題

二、創(chuàng)建庫表列時要指定字符集(要統(tǒng)一)

1、服務(wù)器級

在安裝MySQL時可以設(shè)置服務(wù)器的默認(rèn)編碼格式,也可對my.ini做修改,修改[mysqld]里面的character_set_server=utf8,則可設(shè)置character_set_server的值。

2.數(shù)據(jù)庫級

Create? database?? dbname?default? character? set?utf8;

Mysql (三)Mysql 編碼問題

注意,如果不指定默認(rèn)的字符集,則系統(tǒng)會根據(jù)character_set_database的值進(jìn)行設(shè)置

3.表級

Create? table?dbname.tbname(id varchar(20) not null, name vharchar(20))engine=innoDB? default? charset=utf8;

Mysql (三)Mysql 編碼問題

:定義表的默認(rèn)字符集為utf8,即使character_set_database為gbk,但是表的列都為utf8。如果沒有定義表的默認(rèn)字符集,則他會按照character_set_database的值來設(shè)置

4.列級

Create? table?db1.tb2(id? varchar(20)? not?null, name? varchar(20)? character?set utf8);

Mysql (三)Mysql 編碼問題

注:如查沒有指定列字符集、就使用表字符集、如查指定了就使用指定的。

圖中:show? create?table db1.tb2//是查看表結(jié)構(gòu)

三、修改字符集

1.修改character_set_connection、character_set_client、character_set_results三值

對于一個連接來說、可以用

Set?names? utf8來使用上面三個值改成utf8;

Mysql (三)Mysql 編碼問題

Set?name? ‘charset_name’;相當(dāng)于

Set?character_set_client = charset_name;

SET character_set_results = charset_name;?

SET character_set_connection = charset_name;

2.修改character_set_database字段(也就是改數(shù)據(jù)庫字符集)

Alter? database?db_name? default? character?set? charset_name;

Mysql (三)Mysql 編碼問題

3.修改character_set_server字段

最簡單的方法是直接改my.ini配置文件里面[mysqld]的字段,增加character-set-server=gbk,然后重啟mysqld,則可改為你想要的字符集。

4.修改表的字符集

Alter? table?tbname? default? character?set? charsetname;

Alter? table?tb1? default? character?set? utf8

5.修改列的字符集

Alter? table?tbname? modify? age?varchar(30)? character? set?utf8;

總結(jié):

1、建庫、建表、建字段設(shè)置統(tǒng)一編碼。

2、PHP作為mysqle服務(wù)器客戶端、連接編碼set names utf8/gbk;

3、設(shè)置php返回給瀏覽器數(shù)據(jù)的編碼。(Content-Type,header(),<meta>

<metahttp-equiv="Content-Type"content="text/html; charset=gb2312" />

header("Content-type:text/html;charset=utf-8");

4、Php文件本身保存的編碼(文件編碼、通過文本編輯器設(shè)置)

5、安裝mysql時設(shè)置好編碼。(裝好后可修改my.ini

微信掃一掃?、關(guān)注公眾號

不定時分享資料視頻

Mysql (三)Mysql 編碼問題

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文名稱:Mysql(三)Mysql編碼問題-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://muchs.cn/article14/dpssge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、電子商務(wù)、網(wǎng)站導(dǎo)航網(wǎng)站設(shè)計公司、域名注冊、網(wǎng)站營銷

廣告

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

成都定制網(wǎng)站網(wǎng)頁設(shè)計