当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP MYSQL乱码问题,使用SET NAMES utf8校正

PHP
php生成文件
MySQL中create table语句的基本语法是
NOT NULL 和NULL
最令PHP初学者们头痛的十四个问题
关于mysql 字段的那个点为是定界符
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
MySQL相关说明
PHP 的 __FILE__ 常量
php防注
在数据量大(超过10万)的情况下
解决中英文字符串长度问题函数
一个更简单的无限级分类菜单代码
mysql 的 like 问题,超强毕杀记!!!
php批量删除数据
解决phpmyadmin中文乱码问题。。。
php中的时间显示
php中的登陆login
php中截取字符串支持utf-8
php5.2.0内存管理改进
php中通过smtp发邮件的类,测试通过

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 270 ::
收藏到网摘: n/a

PHP操作数据库的时候,数据库中数据使用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编码的文字内容 。