查看完整版本 : 請教一個php問題
我正在裝一套joomla的template,編碼是utf8,但其中有一行顯示目前時間的文字,卻硬是亂碼,只有當我把網頁調成big5時,它才正常常顯示,但剩下的內容則又成了亂碼。當然我要的是全部都是utf8編碼,而這一點在這個template的index.php中已經設定了。
http://img245.imageshack.us/img245/3835/50901954vv3.gif
我找了一下index.php裡的語法,發現這排時間應是由這段文字所控制:
<td class="pathway" valign="center" align="right" bgcolor="#000000"><?php echo (strftime ("%A, %d %B %Y", time()+($mosConfig_offset*60*60))); ?> </td>
我想請問有何辦法能讓它也照整個網站設定的utf8出現?
謝謝先。
polin
2007-06-07, 07:46 PM
試著加入下面這行試試
setlocale (LC_TIME, 'zh_TW.UTF-8');
試著加入下面這行試試
setlocale (LC_TIME, 'zh_TW.UTF-8');
要加在哪裡?它這段全部是:
<td class="pathway" valign="center" align="left" bgcolor="#000000"><img hspace="5" src="images/M_images/arrow.png" border="0" alt="arrow" /><?php include $GLOBALS['mosConfig_absolute_path'] . '/pathway.php'; ?></td>
<td class="pathway" valign="center" align="right" bgcolor="#000000"><?php echo (strftime ("%A, %d %B %Y", time()+($mosConfig_offset*60*60))); ?> </td>
polin
2007-06-07, 09:42 PM
<?php echo (strftime ("%A, %d %B %Y", time()+($mosConfig_offset*60*60))); ?>
把上面那一段改成下面的!!
<?php
setlocale (LC_TIME, 'zh_TW.UTF-8');
echo (strftime ("%A, %d %B %Y", time()+($mosConfig_offset*60*60)));
?>
caicaimaopk
2007-06-07, 09:45 PM
<?php echo (strftime ("%A, %d %B %Y", time()+($mosConfig_offset*60*60))); ?>
這個改一下加上 ini_set('default_charset','utf-8'); 或者加到文件開頭也可以
<?php ini_set('default_charset','utf-8');echo (strftime ("%A, %d %B %Y", time()+($mosConfig_offset*60*60))); ?>
另外這個index.php文件編碼最好也改成utf-8,因為有的編輯器會亂改文件本身的編碼,dreamweaver比較好
哈,感謝各位,我剛才還正在呼叫caicaimaopk來幫忙~cici,後來用polin的方法就ok先了~iwin。
再次感謝各位 。
caicaimaopk
2007-06-07, 09:55 PM
看來可能這裏不知道怎么輸出的是big5,而網頁是utf-8,改這樣
<?php ini_set('default_charset','utf-8');echo iconv('BIG5','UTF-8',strftime ("%A, %d %B %Y", time()+($mosConfig_offset*60*60))); ?>
vBulletin® v3.8.4,版權所有 ©2000-2024,Jelsoft Enterprises Ltd.