Php mit Umlauten für Firefox

dsaer

Mitglied
Hallo!
Ich habe hier ein Codeschnipsel und weiss einfach nicht weiter:
PHP:
if ($my_type==1) {
   $my_text="lieber Herr " . $my_name ;
        $my_name_1=str_replace("ö","%F6",$my_name);
        $my_name_2=str_replace("ä","%E4",$my_name_1);
        $my_name_3=str_replace("ü","%FC",$my_name_2);

        $my_oe_name=str_replace("Ö","%D6",$my_name_3);
        $my_ae_name=str_replace("Ä","%C4",$my_oe_name);
        $my_ue_name=str_replace("Ü","%DC",$my_ae_name);

        $my_new_name=str_replace("ß","%DF",$my_ue_name);

        $my_name=.$my_new_name&type=.$my_type;
Ich glaube, dass die letzte Zeile nicht stimmt...
Vielleicht kann mir da einer einen Tip geben.
Vielen Dank schon mal!
 
Sorry, das ist ein wenig verwirrend und ich hatte die Zeichen auch falsch rum gesetzt:
PHP:
<?php
$my_name = $_GET['name'];
$my_type = $_GET['type'];

if ($my_type==1) {
   $my_text="lieber Herr " . $my_name ;
        $my_name_1=str_replace("%F6","´ö",$my_name);

        $my_name=.$my_new_name&type=.$my_type;


} else if ($my_type==2) {
...} else {
...
}
Ich lese damit Variablen aus der URL aus.
Vielleicht kann auch das
PHP:
        $my_name_1=str_replace("%F6","´ö",$my_name);

        $my_name=.$my_new_name&type=.$my_type;
gleich unter
PHP:
$my_name = $_GET['name'];
?
 
Du willst also die dekodierten Umlaute in der URI wieder in normale Umlaute umformen?

Dafür gibt es [phpf]urldecode[/phpf].
 
Oh...
Danke!
Ähm, check nix, aber probiere es mal aus.
Hast Du da evtl. noch nen Tip welches man da bedenkenlos nehmen kann?

@Gumbo das PHP setzt die Umlaute, die aus der URL ausgelesen werden nicht um.
 
Bitte, sagt mir einer: Was mache ich falsch?

PHP:
<?php
$my_name = $_GET['name'];

$var_decode = urldecode($my_name);

$my_type = $_GET['type'];

if ($my_type==m) {
   $my_text="Herr " . $my_name ;
} else if ($my_type==f) {
  $my_text="Frau " . $my_name ;
} else {
  $my_text=" liebe Kundin, lieber Kunde " . $my_name ;
}

$vars = '?var1='.$my_text;

?>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="800" height="457" id="my_name" align="middle"> 
<param name=movie value="movie9.swf<? echo $vars?>"> 
<param name=quality value=high> 
<embed src="movie9.swf<? echo $vars?>" quality="high" bgcolor="#ffffff" width="800" height="457" name="my_name" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> 
</object>
 
Zuletzt bearbeitet:
Was genau ist denn bei der Ausgabe falsch?
Also wenn du es jetzt so ausgibst meine ich

PHP:
if ($my_type==m) {
   $my_text = "Herr $my_name";
} else if ($my_type==f) {
  $my_text = "Frau $my_name";
} else {
  $my_text = "liebe Kundin, lieber Kunde $my_name";
}

echo $my_text;
 
Zuletzt bearbeitet:
Der Fehler ist in der Ausgabe vom Namen:

statt name=Möbius
steht in der Flash-Datei "Ms",
- mit charset=UTF-8 "Mbius"
...Es sind die Umlaute, die mir Schwierigkeiten bereiten in FF immernoch.
 
Zuletzt bearbeitet:
Also das hier ist kein UTF-8 !

Base 64 ist es auch nicht ...
Das Kannste wie schon erwähnt mit urldecode() decodieren

PHP:
<?php
$my_name = $_GET['name'];

$my_name = urldecode($my_name);

$my_type = $_GET['type'];

if ($my_type==m) {
   $my_text = "Herr $my_name";
} else if ($my_type==f) {
  $my_text = "Frau $my_name";
} else {
  $my_text = "liebe Kundin, lieber Kunde $my_name";
}

echo $my_text;  

?>

Hoff er gibts nun richtig aus
 
Zuletzt bearbeitet:
Zurück