PDA

查看完整版本 : 請教一個php問題


哈啦
2007-06-07, 07:09 PM
我正在裝一套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))); ?>&nbsp;&nbsp;</td>

我想請問有何辦法能讓它也照整個網站設定的utf8出現?

謝謝先。

polin
2007-06-07, 07:46 PM
試著加入下面這行試試
setlocale (LC_TIME, 'zh_TW.UTF-8');

哈啦
2007-06-07, 09:36 PM
試著加入下面這行試試
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))); ?>&nbsp;&nbsp;</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比較好

哈啦
2007-06-07, 09:48 PM
哈,感謝各位,我剛才還正在呼叫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))); ?>