首页 > 编程知识 正文

包含phpsetnamesutf8的词条

时间:2023-12-29 20:32:14 阅读:331423 作者:NIOC

本文目录一览:

php mysql_query("set names utf8");是什么意思

mysql中文数据出现乱码

数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:

mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");

来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:

mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。

$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);

mysql_query("SET NAMES 'GBK'");

PHP MYSQL乱码问题,使用SET NAMES utf8校正

先记下,免得以后想不起来又到处去找!

PHP操作数据库的时候,数据库中数据使用UTF8编码,在读出来的时候,显示的全是???????问号乱码,找了一些资料原来是在读取之前进行一次编码设置:

复制代码

代码如下:

create

table

tablename

(

id

int

not

null

auto_increment,

title

varchar(20)

not

null,

contnet

varchar(300)

defalut

null,

primary

key

('id')

)begin=MyISAM

DEFAULT

CHARSET

=UTF8;

在插入数据之前执行:

复制代码

代码如下:

mysql_query("SET

NAMES

utf8");

然后

mysql_query("insert

into

tablename

.....")

读出数据之前执行:

复制代码

代码如下:

mysql_query("SET

NAMES

utf8");

然后

mysql_query("select

*

from

tablename")

注意:此处读出的编码是把原来编码的内容重新经过编码后输出的,比如输出内容所在页面是GBK编码,那么在读出的时候在页面显示也为乱码,所以在查询之前执行

mysql_query("SET

NAMES

gbk"),在页面就可以正常显示GBK编码的文字内容

php向mysql表中写入中文,读出来是乱码,编码set names utf8

set

names

只是告诉数据库,取出和存入的字符编码是什么,与数据库内部使用什么编码储存没有关系。

既然你设定了utf8

那么请检查

php文件编码是否是utf8,不是的话使用

header('Content-Type:text/html;

charset=utf-8');

再检查html页面编码是否utf8,不是的话使用

meta

http-equiv="content-type"

content="text/html;charset=utf-8"

/

php和mysql数据库编码都是utf8,为什么还要set names utf8???

PHP是一种服务器端HTML-嵌入式脚本描述语言。 其最强大和最重要的特征是其数据库集成层,使用它完成一个含有数据库功能的网页是不可置信的简单。在HTML文件中, PHP脚本程序(语法类似于Perl或者c语言)可以使用特别的PHP标签进行引用, 这样网页制作者也不必完全依赖HTML生成网页了。由于PHP是在服务器端执行的, 客户端是看不到PHP代码的。 PHP可以完成任何CGI脚本可以完成的任务,但它的功能的发挥取决于它和各种数据库的兼容性。 PHP除了可以使用HTTP进行通信,也可以使用IMAP, SNMP, NNTP, POP3协议

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。