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");
如何解决? 展开
从数据库中取的数据,没有问题,通过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");
如何解决? 展开
5个回答
展开全部
其实解决乱码无非三个地方的编码都一致就可以了,简称三点一线:
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就不一样
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就不一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的php控制文件的字符集和你的html的字符集不统一!
在你的php文件中加一句
<meta http-equiv="Content-Type" content="text/html; charset=XXX" />
先把全部内容复制后。。重新打开此页面。。覆盖你的原来代码?
就ok
完了后把加的那一句删除!
在你的php文件中加一句
<meta http-equiv="Content-Type" content="text/html; charset=XXX" />
先把全部内容复制后。。重新打开此页面。。覆盖你的原来代码?
就ok
完了后把加的那一句删除!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,smarty不会设置编码,在输出字符之前必须在php代码中
设置header("constent-type:text/html;charset=utf-8");
而且模板文件和php的文件编码要统一。
设置header("constent-type:text/html;charset=utf-8");
而且模板文件和php的文件编码要统一。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能你访问的是GB2312编码哦。所以导致显示乱码了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询