php數(shù)據(jù)庫插入文字內(nèi)容 php把數(shù)據(jù)寫入文本

php將漢字寫入數(shù)據(jù)庫問題

你建立的表字段的編碼是什么編碼呢?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)一些!

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

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

php+mysql數(shù)據(jù)時(shí)我們必須保證提交到數(shù)據(jù)庫的編碼與mysql編碼是一致的這樣才可以保存中文不出現(xiàn)問號(hào)亂碼問題,下面我先整理兩個(gè)讓mysql與頁面保證編碼一致的方法。

解決中文插入數(shù)據(jù)庫亂碼的方法:

直接把中文轉(zhuǎn)變成utf-8格式,大多是這個(gè)問題導(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ù)時(shí)我們直接使用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中把文本框的多條數(shù)據(jù)插入到數(shù)據(jù)庫

思路:

1、構(gòu)建form表單,輸出文本框,用textarea/textarea吧,input/內(nèi)不能換行,頁面效果也不好(php、html代碼嵌套寫的話,直接寫就行,建議用smarty,php與模板分離,比較清晰)

2、提交內(nèi)容,確定用什么method(post、get)

3、獲取內(nèi)容,$str=$_POST['name'](name為textarea的name值)

4、$arr=split ('\r\n', $str);按換行符分割字符串為數(shù)組

5、循環(huán)執(zhí)行插入語句,$arr每一層都是一條數(shù)據(jù)

php中sql添加含文字的數(shù)據(jù),僅文字亂碼,找不到原因,怎么辦??!

方法一:

1. yii默認(rèn)的編碼方式是utf-8, 若想改變其編碼方式需要在main.php文件中加上'charset'='GB2312', 這樣才能改變函數(shù)的輸出的編碼方式

2. sql server 2000 的編碼方式默認(rèn)為本地GB2312編碼方式, 對(duì)數(shù)據(jù)庫進(jìn)行操作時(shí)要注意編碼的方式

3. web頁面的編碼相應(yīng)的需要變?yōu)镚B2312

4. 文件保存時(shí)需要保存為GB2312編碼,這樣php文件中的中文字符才能正常解析

方法二:

1. 通過iconv函數(shù)對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)碼

iconv('GB2312','UTF-8',$data)

當(dāng)前題目:php數(shù)據(jù)庫插入文字內(nèi)容 php把數(shù)據(jù)寫入文本
文章網(wǎng)址:http://muchs.cn/article10/hheogo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、外貿(mào)建站、ChatGPT、企業(yè)網(wǎng)站制作服務(wù)器托管、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(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)

成都做網(wǎng)站