php smarty 乱码

html:<metahttp-equiv="Content-Type"content="text/html;charset=utf-8">从数据库中取的数据,没有问题,通... html:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
从数据库中取的数据,没有问题,通过smarty到页面用foreach出现乱码,本页面原来有的中文没有问题。
html:<meta http-equiv="Content-Type" content="text/html; charset=gbk">
从数据库中取的数据,没有问题,通过smarty到页面用foreach没有问题,本页面原来有的中文出现乱码。
我所有的流程都是utf-8来编程的,不知问题出在那里?
<?php include dirname(__FILE__)."/includes/common.php" ?>
<?php
print_r($result_menu_p_a);
?>
这样输出正常。

<?php include dirname(__FILE__)."/includes/common.php" ?>
<?php
print_r($result_menu_p_a);
$smarty->assign("menu_p",$result_menu_p_a);
$smarty->assign("menu_s",$result_menu_s_a);
$smarty->display("show/index.html");
?>
这个输出乱码。

就是多了这几句话:
$smarty->assign("menu_p",$result_menu_p_a);
$smarty->assign("menu_s",$result_menu_s_a);
$smarty->display("show/index.html");
如何解决?
展开
 我来答
客翻番网站建设
2013-05-21 · 超过11用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:40.6万
展开全部
除了数据编码,html输出编码,还有文件编码也要一样。你的问题就是文件编码不一样,所以一般都用语言包来定义中文,不在php文件和模板文件直接写中文,这样就不会有文件编码不一样的问题了。
更多追问追答
追问
你这个方法是可行的,但是,我所有的编码都是utf-8,就是html页面是gbk这样话,会对以后的编程有影响,我只是想怎么才可以全部都用utf-8来显示中文。
追答
所有的编码都是utf-8,html页面也用UTF-8不就行了吗?
mbseo
2013-05-21 · TA获得超过135个赞
知道小有建树答主
回答量:454
采纳率:0%
帮助的人:307万
展开全部
其实解决乱码无非三个地方的编码都一致就可以了,简称三点一线:
1.数据库编码
2.数据传输编码(set names utf8)
3.页面编码(a:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">;b:页面保存时也要是UTF-8)
如果能够保证这三个地方一样,大多数乱码的问题都可解决.
当然还要注意一个情况就是:不同有编辑器utf-8可能不一样,如dw和zendstudio就不一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小海吧
互联网爱好者

2013-05-21 · 互联网情报员
知道小有建树答主
回答量:203
采纳率:53%
帮助的人:23.1万
展开全部
你的php控制文件的字符集和你的html的字符集不统一!
在你的php文件中加一句
<meta http-equiv="Content-Type" content="text/html; charset=XXX" />
先把全部内容复制后。。重新打开此页面。。覆盖你的原来代码?
就ok
完了后把加的那一句删除!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卢国栋G
2015-12-04 · 知道合伙人软件行家
卢国栋G
知道合伙人软件行家
采纳数:2206 获赞数:4767
中山大学网络工程专业,网络行业3年从业经验,经验丰富!

向TA提问 私信TA
展开全部
首先,smarty不会设置编码,在输出字符之前必须在php代码中
设置header("constent-type:text/html;charset=utf-8");
而且模板文件和php的文件编码要统一。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
六原升耗车03
2013-05-21 · 超过28用户采纳过TA的回答
知道答主
回答量:430
采纳率:80%
帮助的人:45.2万
展开全部
可能你访问的是GB2312编码哦。所以导致显示乱码了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式