从php到数据库汉字 php怎么从数据库读取数据

php将汉字写入数据库问题

你建立的表字段的编码是什么编码呢?mysql的编码分为两种,一种是客户端编码,这个可以通过set names GBK(utf8);来改变;这句话的意思是告诉mysql服务器,你的客户端使用的是什么编码。另一种是数据在库中存储时使用的编码,这个编码可以在安装mysql建立数据库,建立表的时候选择,以建表时的选择为最后标准,若果没选择,默认继承安装时的选择。你说的插入成功却是空行的原因,可能是因为安装时选择的编码里面,对汉字的编码支持的太少,因此出现这样的情况,建议:show create table table_name;查看下建表语句中的字符集。最好修改成utf8。这样适应能力强一些!

柳南网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联

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中查询汉字字符乱码

解决乱码有几种方式:

在读取数据库的时候设置连接编码:mysql_query("set

names

utf8");

在读取数据库的php文件的头部加:header("Content-type:text/html;charset=utf-8");

php文件不是utf8格式的编码,需要转化。用notpad++文本编辑器打开php文件,点击菜单中的“格式”,查看是否是“以utf8

无bom格式编码”,不是的话请转成此格式。

html格式的在头部加上:meta

http-equiv="Content-Type"

content="text/html;

charset=utf-8"

/

你看看你的是哪一种情况,都对比做的一下,还不行在问我。


文章标题:从php到数据库汉字 php怎么从数据库读取数据
文章URL:http://myzitong.com/article/dogepid.html