2013-02-06 56 views
6

我有這樣的代碼,通過json_decode檢索我的最新的鳴叫,它們的日期等setlocale(LC_ALL,'it_IT');集,但仍日期的英文

<?php setlocale(LC_ALL, 'it_IT'); ?> 
<?php include("twitter_auth.php"); 
echo "<ul style='color:#6E6E6E'>"; 
foreach ($twitter_data as $tweet) 
{ 
    if (!empty($tweet)) { 
     $text = $tweet->text; 
     $text_in_tooltip = str_replace('"', '', $text); // replace " to avoid conflicts with title="" opening tags 
     $id = $tweet->id; 
     $time = strftime('%d %B', strtotime($tweet->created_at)); 
     $username = $tweet->user->name; 
    } 
    echo '<li><span title="'; echo $text_in_tooltip; echo '">'; echo $text . "</span><br> 
     <a href=\"http://twitter.com/"; echo $username ; echo '/status/'; echo $id ; echo '"><small>'; echo $time; echo '</small></a> - 
     <a href="http://twitter.com/intent/tweet?in_reply_to='; echo $id; echo '"><small>rispondi</small></a> - 
     <a href="http://twitter.com/intent/retweet?tweet_id='; echo $id; echo '"><small>retweet</small></a> - 
     <a href="http://twitter.com/intent/favorite?tweet_id='; echo $id; echo '"><small>preferito</small></a></li>'; 
} 

echo '</ul>'; 
?> 

問題是,$時候輸出如「02月03日」即使有一setlocale(LC_ALL,'IT_IT');.什麼是錯誤?我如何在意大利輸出日期? 系統:PHP 5.4.11和nginx(在Ubuntu服務器上)。

編輯:我也跑的dpkg-重新配置區域設置:

Generating locales... 
    en_US.UTF-8... up-to-date 
    it_IT.UTF-8... up-to-date 
Generation complete. 
+1

它*應*工作:請訪問http: //php.net/manual/en/function.strftime.php。但文檔繼續說道:「並非所有的轉換說明符都可能被C庫支持,在這種情況下,它們將不會被PHP的strftime()支持。」 – paulsm4

+0

嚴......所以呢?我該怎麼辦?我應該嘗試將「%d%B」更改爲其他內容嗎?無論如何,這是奇怪的,他們不支持..他們是非常基本的! – MultiformeIngegno

回答

15

傻,因爲它聽起來我解決轉產到:

<?php setlocale(LC_ALL, 'it_IT.UTF-8'); ?> 
+0

很酷。真高興你做到了! – paulsm4

+0

不要忘記接受你自己的回答 – j0k

+0

是的,我必須等待2天。 :) – MultiformeIngegno

相關問題