189 8069 5689

php数据库怎么输中文,php数据库怎么输中文的

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

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

建水网站建设公司成都创新互联公司,建水网站设计制作,有大型网站制作公司丰富经验。已为建水1000多家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的建水做网站的公司定做!

要存中文的话最好用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输入中文,输出中文

数据库建表的时候指定了一个字符集的,你查看一下,你是UTF-8呢,还是GB2312,或者GBK,看到了没有。

记住,上面的字符集是个标准,以后所有地方都要使用这个字符集合,有哪些地方呢:

一、DOS命令行的mysql里面,首先执行命令set names 字符集,要跟这个一样。

二、PHP文件也是的,mysql_connect之后,立即就mysql_query('set names ~')

三、PHP文件也要使用这样的编码,否则你文件里面写的INSERT语句插入的汉字会是乱码

四、浏览器打开你的网页,也要选择相同的编码方式,否则页面上会是乱码。

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.cnf,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://cdxtjz.cn/article/hcjjsh.html

其他资讯