今天是:
设百科问答网为首页|收藏百科问答网|网站地图
百科问答网 - 帮您解决问题,分享成功经验
smarty的date_format修改器无法正确处理utf8编码的中文格式

marty的date_format修改器无法正确处理utf-8编码的中文格式,检查源代码发现是函数strftime的问题,在windows下即便设置了setlocale,strftime函数也无法正确识别utf-8编码的格式字符串。


# -*- coding: utf-8 -*-

setlocale(LC_ALL, 'zh_CN.utf8');

echo strftime('\%Y年\%m月\%d日', time());

PHP Warning:  Invalid CRT parameters detected in ..... on line ......



答案或建议:


解决方法,smarty的plugins下添加一个date修改器,采用date函数处理日期格式。

require_once $smarty->_get_plugin_filepath('shared', 'make_timestamp');

function smarty_modifier_date($string, $format = 'Y-m-d H:i:s')

{

    $timestamp = smarty_make_timestamp($string);

    return date($format, $timestamp);

}


链接地址:http://www.baikewenda.com/h/1103/a37245.html
推荐内容

敬请注意:百科问答网内容来源于网络或民间经验收集,仅供参考。其中有关健康疾病方面的内容请务必咨询专业医生或及时到医院治疗。
关于我们 - 广告服务 - 联系我们
百科问答网 Copyright ©2005 - 2011 www.baikewenda.com,All Rights Reserved
辽ICP备10007180号