Keine deutsche Ausgabe mit strftime

pReya

Erfahrenes Mitglied
PHP:
<?php
setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
mysql_connect ('localhost', '****', '****') ;
mysql_select_db ('****');

$sql = "SELECT * FROM php_blog ORDER BY timestamp DESC LIMIT 5";

$result = mysql_query($sql) or
print ("Fehler bei der Datenbankabfrage von php_blog.<br />" . $sql . "<br />" . mysql_error());

while ($row = mysql_fetch_array($result))
    {
        $date = strftime("%A",$row["timestamp"]);
        $title = $row["title"];
        $entry = $row["entry"];

        print "<b>$title</b><br><br>";
        print "$entry<br><br>";
        print "gepostet am $date<br><br>";
        print "<hr><br><br>";
    }

?>

Als Ausgabe erhalte ich immernoch Englische Wochentage! Ich find den Fehler einfach nicht!

Danke für eure Antworten!
 
Probier mal Folgendes:
PHP:
<?php

	setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de-DE', 'de', 'ge', 'de_DE.UTF-8', 'German');
	…

?>
 
Im PHP Manual gibt es dazu einen Beitrag, in dem dasselbe Problem geschildert wird. Dort wird als Lösung vorgeschlagen:
PHP:
<?php

$locale = 'de_DE.ISO8859-1';
do {
  $locale_result = setlocale(LC_TIME, $locale);
} while ($locale_result != $locale);

?>
siehe
http://de.php.net/manual/de/function.setlocale.php (user constribution notes v. 24-Jan-2004 05:00 )
 
Sorry, aber das ist ein ziemlich unsinniger Code. Der erzeugt auf Systemen, die die Locale-Einstellung 'de_DE.ISO8859-1' nicht unterstützen, eine Endlosschleife. Und auf allen anderen Systemen wäre ein einfacher Aufruf von [phpf]setlocate[/phpf] ausreichend.
 
Danke MissPiggy,
aber auch dieser Eintrag ändert die Sprache nicht! Ich kann mir das einfach nich erklären!
 
Also wenn ich das einfach so ausprobiere funktioniert das auch. Also das Problem muss woanders liegen!

Am Timestamp (und damit am Script, dass die Einträge schreibt)kanns ja nicht liegen, oder?!
 
Wenns gar nicht anders geht:

PHP:
<?php
   function zeit($tag)
   {
   $tage = new Array('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag');
   
   return $tage[date('w')];
   }
   ?>

Kannste ja beliebig erweitern. Ist zwar umständlich funktioniert aber genauso wie man es will ohne das man extra was Einstellt...

MfG Prophet
 
Zuletzt bearbeitet:
Zurück