php数据库添加中文 php设置数据库编码

php不能想数据库插入中文。。

你要保证你程序中指定的数据库编码和数据库本身的编码是一致的,

创新互联公司专注于西湖网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供西湖营销型网站建设,西湖网站制作、西湖网页设计、西湖网站官网定制、微信小程序服务,打造西湖网络公司原创品牌,更为您提供西湖网站排名全网营销落地服务。

要存中文的话最好用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数据库添加汉字,只能添加字母和数字

php+mysql数据时我们必须保证提交到数据库的编码与mysql编码是一致的这样才可以保存中文不出现问号乱码问题,下面我先整理两个让mysql与页面保证编码一致的方法。

解决中文插入数据库乱码的方法:

直接把中文转变成utf-8格式,大多是这个问题导致的。

代码如下复制代码

$str

=

iconv('gbk','utf-8',$str);

如果还不行检查网页编码是否正确:

代码如下复制代码

?php

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

?

建表:

代码如下复制代码

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("

数据名",$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的,也是可以的~

在查询数据时我们直接使用mysql_query()来设置

mysql_query("SET

NAMES

GBK");

//GBK处为编码设置

例子

下面是

"insert.php"

页面的代码:

代码如下复制代码

?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处为编码设置

$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数据库中写入中文汉字为什么显示不出来?我已经设置成gb2312了

PHP与数据库的编码应一致

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. 在需要做数据库操作的php程序前加mysql_query("set names

'编码'");,编码和php编码一致,如果php编码是gb2312那mysql编码就是gb2312,如果是utf-8那mysql编码就是 utf8,这样插入或检索数据时就不会出现乱码了


网站名称:php数据库添加中文 php设置数据库编码
文章出自:http://scyanting.com/article/ddijepp.html