2013-02-06 23 views
6

ich diesen Code haben, die durch json_decode meine neuesten Tweets abruft, deren Datum usw.setlocale (LC_ALL, 'it_IT'); Gesetzt, aber noch Termine in Englisch

<?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>'; 
?> 

Problem ist, dass $ Zeit gibt so etwas wie „3. Februar“, auch wenn es eine ist setlocale (LC_ALL, 'it_IT') ;. Was ist der Fehler? Wie kann ich Termine in Italienisch ausgeben lassen? System: PHP 5.4.11 und nginx (auf Ubuntu Server).

EDIT: ich auch dpkg-recon locales lief:

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

Es * sollte * Arbeit: Siehe http: //php.net/manual/en/function.strftime.php. Aber die Dokumentation fährt fort zu sagen, dass nicht alle Conversion-Spezifizierer von Ihrer C-Bibliothek unterstützt werden, in welchem ​​Fall sie nicht von PHPs strftime() unterstützt werden. – paulsm4

+0

Uhm .. so? Was soll ich machen? Sollte ich versuchen, '% d% B' in etwas anderes zu ändern? Wie auch immer, es ist seltsam, dass sie nicht unterstützt werden. Sie sind ziemlich einfach! – MultiformeIngegno

Antwort

15

Dummes wie es klingen mag ich die Zeile ausgewertete Wechsel:

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

Kühl. Ich bin froh, dass es funktioniert hat! – paulsm4

+0

Vergessen Sie nicht, Ihre eigene Antwort zu akzeptieren – j0k

+0

yeah, ich muss 2 Tage warten. :) – MultiformeIngegno