Seite 1 von 2

PHP Umlaute?

Verfasst: 30.04.2005 15:23
von leopittoni
Hallo

Wie macht man in PHP die Umlaute?

Also:

ä
ü
ö
é
è

Ä
Ü
Ö


Danke, Léo

Verfasst: 30.04.2005 15:26
von D@ve
Garnicht, in PHP kann man für Bezeichner und Variablen keine Umlaute benutzen.

Gruß, Dave

Verfasst: 30.04.2005 15:28
von leopittoni
Ja, aber wenn man in einer Lang-Datei was einträgt, dann bracuht man ja auch Umlaute...

Also zB. das wort: Beitäge.

Wie muss man das in einer php-Datei schreiben?

Danke, Léo

Verfasst: 30.04.2005 15:31
von D@ve
Achso meinst Du das (mit php hat das übrigens nichts zu tun)

Entweder einfach "Beiträge" und das richtige Charset benutzen (wie es in der eingedeutschten Version standard-mäßig voreingstellt ist) oder über die entsprechenden HTML-Entities: "Beitäge".

Gruß, Dave

Verfasst: 30.04.2005 15:33
von Blutgerinsel

Verfasst: 08.06.2005 18:07
von lx84
so ichhab noch ne frage hier zum thema:

und zwar hab ich folgendes script:

Code: Alles auswählen

function audioScrobbler( $user, $num = 1, $format )
{

   if (empty($user)) die( "<tt>Syntax: audioScrobbler(\"<b>username</b>\")</tt>" );

   $num = intval( $num - 1 );

   $format = (!$format) ? '' : $format;

   $as = @file_get_contents( "http://ws.audioscrobbler.com/txt/recent/" . $user );
   if ($as=="")
   {
     print "Error getting song info.";
     exit;
   } else {

   $line = explode( "\n", $as );
   $j = 0;
   $t = 0;

   while ($j <= $num)
   {
     if( $t % 2 != 0 )
     {
         if ( !empty($line[$t]) )
           $played[$j] = $line[$t];
         $j++;
     }
     $t++;
   }

   $n = 1;
   foreach( $played as $str )
   {
     if ( empty( $format ) )
     {
         print $str . "<br />";
     }
     else
     {
         $_str = $format;
         $_str = str_replace( "{name}", $str, $_str );
         $_str = str_replace( "{num}", $n, $_str );
         print $_str;
     }
     $n++;
   }
   }
}
imprinzip liest es mir von einem newsfeed bestimmte wörter aus, und gibt sie wieder. nur zeigt er mir die umlaute falsch an..
zB statt "ö" gibt es mir "ö" aus
wie kann ich das ändern?

ist es die str_replace funktion, die hier probleme bereitet?

Verfasst: 08.06.2005 19:54
von Pyramide
Entweder du gibst im header als Zeichensatz UTF-8 an oder verwendest [php:utf8_decode]

Verfasst: 08.06.2005 20:52
von lx84
hm.. das geht immer noch nicht..

(und danke für den, der aufgrund des scripts, meine seite gehäckt hat... ganz einlustiger...)

jedenfalls, den header hatte ich schon...
und die decode funktion bringt auch nichts, kriegimmer noch die falschen zeichen...
habs so eingebaut:

Code: Alles auswählen

     if ( empty( $format ) )
     {
         $str = utf8_decode($str);
         print $str . "<br />";
     }
     else
     {
         $_str = $format;
         $_str = str_replace( "{name}", $str, $_str );
         $_str = str_replace( "{num}", $n, $_str );
         $str = utf8_decode($str);
         print $_str;
     } 

das is der input:
http://ws.audioscrobbler.com/txt/recent/lx84
mit dem oben geschriebenen script werden die daten eingelesen und mittles print ausgegeben..
und eben alle umlaute sowie ß werden falsch ausgegeben..
was kann ich da sonst falsch gemacht haben?

Verfasst: 09.06.2005 05:20
von Elo
Interessant wäre für dich die PHP-Funktion "htmlentities":
http://php.planetmirror.com/manual/de/f ... tities.php

Verfasst: 09.06.2005 08:03
von lx84
danke, hab ich gerade ausprobiert, hilft aber auch nichts!?!?
das löcht mir nur die absätze weg...
:-?
gibts noch ne möglichkeit?

oder bring ich die funktion an nem falschen ort an?? hab sie wie die utfdecode-funktion an die slebe stelle gesetzt mit
$str = htmlentities($str);