PHP Umlaute?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

PHP Umlaute?

Beitrag von leopittoni »

Hallo

Wie macht man in PHP die Umlaute?

Also:

ä
ü
ö
é
è

Ä
Ü
Ö


Danke, Léo
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag von D@ve »

Garnicht, in PHP kann man für Bezeichner und Variablen keine Umlaute benutzen.

Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag 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
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

lx84
Mitglied
Beiträge: 6
Registriert: 08.06.2005 18:01

Beitrag 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?
Zuletzt geändert von lx84 am 08.06.2005 20:44, insgesamt 5-mal geändert.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Entweder du gibst im header als Zeichensatz UTF-8 an oder verwendest [php:utf8_decode]
KB:knigge
lx84
Mitglied
Beiträge: 6
Registriert: 08.06.2005 18:01

Beitrag 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?
Elo
Mitglied
Beiträge: 318
Registriert: 04.11.2002 17:44

Beitrag von Elo »

Interessant wäre für dich die PHP-Funktion "htmlentities":
http://php.planetmirror.com/manual/de/f ... tities.php
lx84
Mitglied
Beiträge: 6
Registriert: 08.06.2005 18:01

Beitrag 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);
Antworten

Zurück zu „Coding & Technik“