你建立的表字段的編碼是什么編碼呢?mysql的編碼分為兩種,一種是客戶端編碼,這個可以通過set names GBK(utf8);來改變;這句話的意思是告訴mysql服務(wù)器,你的客戶端使用的是什么編碼。另一種是數(shù)據(jù)在庫中存儲時使用的編碼,這個編碼可以在安裝mysql建立數(shù)據(jù)庫,建立表的時候選擇,以建表時的選擇為最后標(biāo)準(zhǔn),若果沒選擇,默認繼承安裝時的選擇。你說的插入成功卻是空行的原因,可能是因為安裝時選擇的編碼里面,對漢字的編碼支持的太少,因此出現(xiàn)這樣的情況,建議:show create table table_name;查看下建表語句中的字符集。最好修改成utf8。這樣適應(yīng)能力強一些!
10年的沾益網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整沾益建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“沾益網(wǎng)站設(shè)計”,“沾益網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
亂碼有幾個方面
首先確保數(shù)據(jù)庫的編碼是否正確
其次確保連接數(shù)據(jù)庫的代碼是否指定了正確的編碼。
另外就是html頁面的編碼是否一致,麻煩把問題補充清楚方便排查問題。
php+mysql數(shù)據(jù)時我們必須保證提交到數(shù)據(jù)庫的編碼與mysql編碼是一致的這樣才可以保存中文不出現(xiàn)問號亂碼問題,下面我先整理兩個讓mysql與頁面保證編碼一致的方法。
解決中文插入數(shù)據(jù)庫亂碼的方法:
直接把中文轉(zhuǎn)變成utf-8格式,大多是這個問題導(dǎo)致的。
代碼如下復(fù)制代碼
$str
=
iconv('gbk','utf-8',$str);
如果還不行檢查網(wǎng)頁編碼是否正確:
代碼如下復(fù)制代碼
?php
header("Content-Type:text/html;charset=utf-8");
?
建表:
代碼如下復(fù)制代碼
Create
TABLE
`net_city`
(
`cityid`
smallint(4)
NOT
NULL
auto_increment,
`cityname`
varchar(80)
NOT
NULL
default
'',
`provinceid`
smallint(2)
NOT
NULL
default
'0',
`inarea`
varchar(5000)
NOT
NULL
default
'',
`outarea`
varchar(5000)
NOT
NULL
default
'',
`tel`
varchar(400)
NOT
NULL
default
'',
PRIMARY
KEY
(`cityid`)
)
ENGINE=MyISAM
DEFAULT
CHARSET=utf8;
PHP里的代碼:
$conn=mysql_connect("localhost",
"用戶名",
"密碼");
mysql_query("set
names
'utf8'",$conn);
mysql_select_db("
數(shù)據(jù)名",$conn);
$exec="insert
into
net_city
(cityname,inarea,outarea,tel)
values
('".$link_cityname."','".$link_inarea."','".$link_outarea."','".$link_tel."')";
$result=mysql_query($exec,$conn);
if($result){
echo
"1";
}else{
echo
"0";
}
mysql_close($conn);
后來我試了試全部都用成gbk的,也是可以的~
在查詢數(shù)據(jù)時我們直接使用mysql_query()來設(shè)置
mysql_query("SET
NAMES
GBK");
//GBK處為編碼設(shè)置
例子
下面是
"insert.php"
頁面的代碼:
代碼如下復(fù)制代碼
?php$con
=
mysql_connect("localhost","peter","abc123");
if
(!$con)
{
die('Could
not
connect:
'
.
mysql_error());
}
mysql_select_db("my_db",
$con);
mysql_query("SET
NAMES
GBK");
//GBK處為編碼設(shè)置
$sql="INSERT
INTO
person
(FirstName,
LastName,
Age)VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if
(!mysql_query($sql,$con))
{
die('Error:
'
.
mysql_error());
}
echo
"1
record
added";
mysql_close($con)
?
你的數(shù)據(jù)庫是什么編碼的?默認的latin編碼是不支持漢字的,改成utf8或者utf8mb4編碼,然后你的PHP文件編碼也使用utf8編碼
網(wǎng)站題目:php寫入數(shù)據(jù)庫中文 php寫入數(shù)據(jù)庫中文怎么寫
鏈接URL:http://muchs.cn/article2/ddipsic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站排名、網(wǎng)站設(shè)計公司、微信公眾號、自適應(yīng)網(wǎng)站、網(wǎng)站營銷
聲明:本網(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)