php用smarty的html模板中文输出乱码

test.php代码如下require_once('smarty/Smarty.class.php');$smarty=newSmarty();//Smarty五配置两方... test.php 代码如下

require_once ('smarty/Smarty.class.php');
$smarty=new Smarty();
//Smarty五配置两方法
$smarty->left_delimiter = "{"; // 左定界符
$smarty->right_delimiter = "}"; // 右定界符
$smarty->compile_dir = "template_c"; // 模板编译生成的文件
$smarty->template_dir = "tpl"; // html模板的地址
//$smarty->cache_dir = "cache"; // 缓存

$smarty->assign ( 'articletitle', 'hello world' ); // 对smarty的变量进行赋值
$arr=array('title'=>'smarty的学习','author'=>'小明');
$smarty->assign('arr',$arr);
$smarty->display ( 'test.html' );

test.html代码如下
{$arr.title}

打开test.php会输出乱码,英文显示正常,汉字出现乱码,test.php 和test.html编码格式都是UTF-8
展开
 我来答
百度网友e3f6c04
2014-11-16 · TA获得超过2147个赞
知道大有可为答主
回答量:3576
采纳率:20%
帮助的人:1232万
展开全部
建议把 $arr 转化下语言,譬如 $arr=mb_convert_encoding($arr, ''UTF-8'', 'GBK'); 然后再输入试试。
更多追问追答
追问
我试了,还是不行,我那个test.html的编码格式就是utf-8的啊,test.php也是,是不是需要指定个字体什么的
追答
你是在赋值后 添加的编码转化吗 ?如果是 ,那可能你编码不是 UTF8的,把转化改为$arr=mb_convert_encoding($arr, ''GBK'', 'UTF-8'); 再试试。还有就是别忘了把 缓存文件清理了再测试。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式