php數(shù)據(jù)庫添加中文 php設(shè)置數(shù)據(jù)庫編碼

php不能想數(shù)據(jù)庫插入中文。。

你要保證你程序中指定的數(shù)據(jù)庫編碼和數(shù)據(jù)庫本身的編碼是一致的,

創(chuàng)新互聯(lián)公司專注于西湖網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供西湖營銷型網(wǎng)站建設(shè),西湖網(wǎng)站制作、西湖網(wǎng)頁設(shè)計、西湖網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造西湖網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供西湖網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

要存中文的話最好用utf-8編碼,同時php的文件編碼也用utf-8;

CREATE TABLE test (

`pid` int(11) NOT NULL AUTO_INCREMENT,

`version` varchar(50) NOT NULL,

`recorddate` datetime NOT NULL,

PRIMARY KEY (`pid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;

建表的時候指定編碼和字符集,一般就不會有問題了。

php不能往mysql數(shù)據(jù)庫添加漢字,只能添加字母和數(shù)字

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)

?

用PHP向mysql數(shù)據(jù)庫中寫入中文漢字為什么顯示不出來?我已經(jīng)設(shè)置成gb2312了

PHP與數(shù)據(jù)庫的編碼應(yīng)一致

1. 修改mysql配置文件my.ini或my點吸煙 f,mysql最好用utf8編碼

[mysql]

default-character-set=utf8

[mysqld]

default-character-set=utf8

default-storage-engine=MyISAM

在[mysqld]下加入:

default-collation=utf8_bin

init_connect='SET NAMES utf8'

2. 在需要做數(shù)據(jù)庫操作的php程序前加mysql_query("set names

'編碼'");,編碼和php編碼一致,如果php編碼是gb2312那mysql編碼就是gb2312,如果是utf-8那mysql編碼就是 utf8,這樣插入或檢索數(shù)據(jù)時就不會出現(xiàn)亂碼了

文章名稱:php數(shù)據(jù)庫添加中文 php設(shè)置數(shù)據(jù)庫編碼
分享網(wǎng)址:http://muchs.cn/article38/ddijepp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、企業(yè)建站、App設(shè)計外貿(mào)建站、定制網(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)

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