PHP网页中,读取的mysql数据库乱码,是什么原因?(php是在smarty里面)
具体的:我的数据库设置createdatabasesmartycharsetutf8;createtablenews(idintauto_incrementprimary...
具体的:
我的数据库设置
create database smarty charset utf8;create table news(id int auto_increment primary key,title varchar(100) not null default '',author char(10) not null default '',content text )engine myisam charset utf8;
——————————————————————————————————————————
我这个php程序是放在smarty的,连接数据库的时候是这样:
$db=new PDO('mysql:host=localhost;dbname=smarty;charset=UTF-8','root','');
然后在mysql数据库里中文显示是正常:
——————————————————————————————————————————
但就是读取数据的时候出现乱码
我的smarty的模板页保存的是utf-8了,页面也是<meta charset='utf-8'>,但就是读取数据的时候就出现这个乱码,不知道什么原因?请教高手!! 展开
我的数据库设置
create database smarty charset utf8;create table news(id int auto_increment primary key,title varchar(100) not null default '',author char(10) not null default '',content text )engine myisam charset utf8;
——————————————————————————————————————————
我这个php程序是放在smarty的,连接数据库的时候是这样:
$db=new PDO('mysql:host=localhost;dbname=smarty;charset=UTF-8','root','');
然后在mysql数据库里中文显示是正常:
——————————————————————————————————————————
但就是读取数据的时候出现乱码
我的smarty的模板页保存的是utf-8了,页面也是<meta charset='utf-8'>,但就是读取数据的时候就出现这个乱码,不知道什么原因?请教高手!! 展开
5个回答
展开全部
html的代码中的编码设置
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
php的编码设置
<?php
header('Content-Type:text/html; charset=utf-8');
链接数据库的编码
mysql_query("set names 'utf8'");
以及文件本身的编码(你还是用记事本另存为的时候看看,有些编程设置是utf-8,但是有可能会是ANSI)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
php的编码设置
<?php
header('Content-Type:text/html; charset=utf-8');
链接数据库的编码
mysql_query("set names 'utf8'");
以及文件本身的编码(你还是用记事本另存为的时候看看,有些编程设置是utf-8,但是有可能会是ANSI)
追问
smarty的html模板编码:
php页的模板编码:
header('Content-Type:text/html; charset=utf-8');
保存的文件:是utf-8的编码
数据库也是utf8
但是还是出现????????这个中文乱码!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
html中的编码问题,你把你的数据库,php和html的编码方式都修改成utf-8的格式就好了...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看mysql数据库的charset设置是否utf8
追问
html模板页是 utf-8
php页也是utf-8
保存的文件也是utf-8
数据库也是utf8
但显示的页面还是出现中文乱码,而phpmyadmin里显示的中文能正常显示啊??
我这个是smarty下的pdo连接方式,我不运用pdo,不在smarty下就能正常显示中文!
追答
有时也有乱码,都是数据库与php设置的charset不同引起的,编码一致就好啦。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也遇到了同样的问题都设成了utf8还是乱码,请问楼主解决了吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置文件的编码格式
追问
也不行啊,所有考虑到的都设置成utf-8了
我这个是在smarty下PDO方式,我不在smarty下就能正常显示中文!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询