你建立的表字段的編碼是什么編碼呢?mysql的編碼分為兩種,一種是客戶端編碼,這個(gè)可以通過set names GBK(utf8);來改變;這句話的意思是告訴mysql服務(wù)器,你的客戶端使用的是什么編碼。另一種是數(shù)據(jù)在庫中存儲(chǔ)時(shí)使用的編碼,這個(gè)編碼可以在安裝mysql建立數(shù)據(jù)庫,建立表的時(shí)候選擇,以建表時(shí)的選擇為最后標(biāo)準(zhǔn),若果沒選擇,默認(rèn)繼承安裝時(shí)的選擇。你說的插入成功卻是空行的原因,可能是因?yàn)榘惭b時(shí)選擇的編碼里面,對(duì)漢字的編碼支持的太少,因此出現(xiàn)這樣的情況,建議:show create table table_name;查看下建表語句中的字符集。最好修改成utf8。這樣適應(yīng)能力強(qiáng)一些!
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比漳州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式漳州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋漳州地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
數(shù)據(jù)庫采用UTF8編碼,而頁面申明編碼是GB2312,這是最常見的產(chǎn)生亂碼的原因。這時(shí)候在PHP腳本里面直接SELECT數(shù)據(jù)出來的就是亂碼,需要在查詢前先使用:mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");來設(shè)定MYSQL連接編碼,保證頁面申明編碼與這里設(shè)定的連接編碼一致(GBK是GB2312的擴(kuò)展)。如果頁面是UTF-8編碼的話,可以用:mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如頁面申明的編碼與數(shù)據(jù)庫內(nèi)部編碼一致可以不設(shè)定連接編碼。
事實(shí)上MYSQL配置文件my.ini中定義了2個(gè)默認(rèn)編碼,分別是[client]里的default-character-set和[mysqld]里的default-character-set來分別設(shè)定默認(rèn)時(shí)候客戶端連接和數(shù)據(jù)庫內(nèi)部所采用的編碼。上面指定的編碼其實(shí)是MYSQL客戶端連接服務(wù)器時(shí)候的命令行參數(shù)character_set_client,來告訴MYSQL服務(wù)器接受到的客戶端數(shù)據(jù)是什么編碼的,而不是采用默認(rèn)編碼。
轉(zhuǎn)自:
你說的該數(shù)據(jù)庫配置文件吧?
windows
下
是在mysql安裝目錄下的my.ini
linux下/etc/my.cnf
[mysqld]
下面增加
default-character-set
=
utf8
你要改成
default-character-set
=
gb2312
都行
重啟mysql
網(wǎng)站名稱:php數(shù)據(jù)庫漢子 php文本數(shù)據(jù)庫
URL標(biāo)題:http://jinyejixie.com/article10/dossjdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站建設(shè)、網(wǎng)站策劃、ChatGPT、小程序開發(fā)
聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)