织梦二次开发,二次开发,李丕长,网站php二次开发,做网站,模板设计,jquery效果,jquery特效

当前位置: 主页 > Smarty学习 >

smarty select option 中文不显示解决方法

时间:2013-11-24 12:22作者:LEO 点击:
第一次配置smarty完案例继续 今天我们需要输出一个简单的select option 标签 并且带有中文 option.php ?php require_once (dirname( __FILE__ ). /../include/common.inc.php ); require (dirname( __FILE__ ). /../libs/Smar

 第一次配置smarty完案例继续

今天我们需要输出一个简单的select option 标签 并且带有中文

option.php 

 

  1. <?php 
  2.  
  3. require_once(dirname(__FILE__)."/../include/common.inc.php"); 
  4. require(dirname(__FILE__)."/../libs/Smarty.class.php"); 
  5.  
  6. $smarty = new Smarty; 
  7.  
  8.  
  9.  
  10. //$smarty->force_compile = true; 
  11. /* 
  12. smarty默认的方式是compile_check = true; 
  13. 即在每次输出模板的时候检查当前模板是否有过改变,如果有那么重新编译(判断时间戳), 
  14. 这会浪费一些效率,但会保证模板改动后可以正常显示, 
  15. 但在我们的网站上线后,很多时候,是不需要检查这个的,因为模板已经不变了~ 
  16. 建议是:在开发阶段,force_compile = true;产品上线时compile_check = false; 
  17. <?php 
  18.   
  19. if (DEBUG) { 
  20.     $smarty->force_compile = true; 
  21. } else { 
  22.     $smarty->compile_check = false; 
  23. } 
  24.   
  25. ?> 
  26.  
  27. */ 
  28. $smarty->debugging = true; //开启代码调试 
  29. $smarty->caching = true;//关闭开启缓存,调试中建议关闭 默认为关闭即设置成false 
  30. $smarty->cache_lifetime = 120;//单位为秒     设置缓存时间 
  31.  
  32. $smarty->config_dir="../configs"
  33.  
  34. $smarty->template_dir="../templates";//设置模版目录,模板文件名类似index.tpl 
  35.  
  36. $smarty->compile_dir="../templates_c";//设置编译目录必选 也是可以自动生成  
  37.  
  38. $smarty->cache_dir="../smarty_cache";//缓存文件夹可选为减轻压力 可以自动生成 
  39.  
  40. //查询数据 
  41. $option_ids=array(); 
  42. $option_name=array(); 
  43. $sql="select * from dede_archives  order by id desc limit 0,7"
  44. $rs=mysql_query($sqlor die((mysql_error())); 
  45. $ary=array(); 
  46. while($row=mysql_fetch_array($rs)) 
  47.     $ary[]=$row
  48.         $option_ids[]=$row['id']; 
  49.     $option_name[]=$row['title']; 
  50.  
  51.  
  52.  
  53. $smarty->assign("option_ids"$option_ids); 
  54. $smarty->assign("option_name"$option_name); 
  55.  
  56.  
  57. $smarty->display('option.tpl'); 
  58.  
  59.  
  60.       
  61. ?> 

模板

header.tpl

 

  1. <HTML>  
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  3. <HEAD>  
  4. <TITLE>{$title}</TITLE>  
  5. </HEAD>  
  6. <BODY> 

option.tpl

 

  1. {include file="header.tpl" title='smartyoption中文不显示'}  
  2.   
  3. <PRE>  
  4.  
  5. <select name="wenzhang" > 
  6.    {html_options values=$option_ids output=$option_name} 
  7. </select> 
  8.  
  9.  
  10. {include file="footer.tpl"}  

footer.tpl

 

  1. </BODY>  
  2. </HTML>  

特别提醒的是 中文的时候 option 不显示,目前查到的原因是因为 模板的编码即

  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

必须要加上,相关的 还有数据库的编码,php程序的编码 都要统一 就可以了。

在线查看:打开

顶一下
(2)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
无觅相关文章插件,快速提升流量