zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Umlaute Fehler - keine richtige Darstellung

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 13.12.2009, 22:03
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.10.2009
Beiträge: 65
talkuvit befindet sich auf einem aufstrebenden Ast
Standard Umlaute Fehler - keine richtige Darstellung

hallo User, habe in meinem Kontaktformular Umlautefehler beim versenden an eine Email Adresse. Die Umlaute werden nicht nach UFT-8 dargestellt so das man Ä Ö Ü erkennen kann.

ich habe euch mal hier code gepostet der vielleicht wichtig ist um das Problem zu veranschaulichen.
Ich danke auch dem Praktikant von xhtml der schon vielle ansätze probiert hat.
(http://xhtmlforum.de/59426-kontaktfo...tml#post453058)

Kontakt.php

PHP-Code:
<?
/***************************************************************************
 *                                                                          *
 *   copyright            : (C) 2008 Daniel Kauser                         *
 *   email                : danysahne333@mail.ru                           *
 *   website              : www.cb-talk.de/captcha.html                    *
 *                                                                         *
 *                                                                         *
 *                                                                         *
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   Diese Script ist gratis. Viele andere Scripte kosten viel Geld doch   *
 *   ich und zum Gl�ck auch noch ein paar andere sind gegen sowas und      *
 *   bieten unsere Scripte gratis an. Deshalb l�scht nicht den copyright   *
 *   von mir damit wir kein Stress kriegen                                   *
 *                                                                         *
 ***************************************************************************/
    
    // Alle Fehler und Notices anzeigen
    
error_reporting(E_ALL);
    
    
session_start();
    
    
$CAPTCHA_TempString="";
    
    
// Zufallsfunktion für Zahlen und Buchstaben
        
function GetRandomChar() {
    
    
// Zufallszahl generieren
        
mt_srand((double)microtime()*1000000);
        
$CAPTCHA_RandVal mt_rand(1,2);
    
    
// Buchstabensalat generieren jeh nachdem ob Randval 1 oder 2 ist
        
switch ($CAPTCHA_RandVal) {
        case 
1:
            
// Zahlen 0-9
            
$CAPTCHA_RandVal mt_rand(4857);
            break;
        case 
2:
            
// Grosse Buchstaben
            
$CAPTCHA_RandVal mt_rand(6590);
            break;
        }
        
    
// Zufallscode ausgeben
        
return chr($CAPTCHA_RandVal);
    }
    
    
// Zufallscode x-stellig ausgeben
        
for ($i 1$i <= 6$i++) {
           
$CAPTCHA_TempString .= GetRandomChar();
    }

    
// Text in Sessionvariable speichern
    
if (isset($CAPTCHA_TempString)) {
        
$_SESSION["CAPTCHA_RndText"] = str_replace('I','E',str_replace('0','3',str_replace('1','S',str_replace('B','F',str_replace('O','P',str_replace('4','A',str_replace('D','K',$CAPTCHA_TempString)))))));
    } else {
        die(
"Zufallscode konnte nicht generiert werden!");
    }
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="language" content="de" />
    <title>Kontaktformular</title>
</head>

<body>
<br />
<div style="border: 1px #000 solid; width: 350px; padding: 5px;">
<h3>Kontaktformular</h3>

<form method="post" action="index.php?P=kontakt_ausw" name="kontakt">
    <table>
    <tr><td><p>Name: </p></td><td><p><input name="name" size="34" type="text" <?if (isset($_SESSION['name'])) { echo 'value="' $_SESSION['name'] . '"'; }?>/></p></td></tr>
    <tr><td><p>Email: </p></td><td><p><input name="email" size="34" type="text" <?if (isset($_SESSION['email'])) { echo 'value="' $_SESSION['email'] . '"'; }?>/></p></td></tr>
    <tr><td><p>Betreff: </p></td><td><p><input name="betreff" size="34" type="text" <?if (isset($_SESSION['betreff'])) { echo 'value="' $_SESSION['betreff'] . '"'; }?>/></p></td></tr>
    <tr><td><p>Nachricht: </p></td><td><p><textarea name="nachricht" rows="3" cols="26"><?if (isset($_SESSION['nachricht'])) { echo  $_SESSION['nachricht'] ; }?></textarea></p></td></tr>
    
    <tr><td> </td><td><img border="0" src="captcha_img.php?PHPSESSID=<?echo session_id();?>&ver=<?echo time();?>" alt="" /></td></tr>
    <tr><td><p>Code: </p></td><td><p><input maxlength="6" name="txtCode" size="34" type="text" /></p></td></tr>
    <tr><td> </td><td><p><input class="button" type="submit" name="eintrag" value="Senden" />&nbsp;<input class="button" type="reset" name="reset" value="l&ouml;schen" /></p></td></tr>
    </table>
    </div>
</form>
</body>
</html>
Kontakt_ausw.php

PHP-Code:
<br />
<?
    
// Session starten und confog.php includen
    
session_start();
    include (
"config.php");
    
    
// CaptchaCodes abfragen
    
$CAPTCHA_RandomText "";
    if (isset(
$_POST['txtCode'])){
    
$CAPTCHA_EnteredText str_replace("<","",str_replace(">","",str_replace("'","",str_replace("[","",str_replace("]","",$_POST['txtCode'])))));
    }
    if (isset(
$_SESSION['CAPTCHA_RndText'])) {
    
$CAPTCHA_RandomText $_SESSION['CAPTCHA_RndText'];
    }

    
// Eingabefelder abfragen
    
$_SESSION['name'] = $_POST['name'];
    
$_SESSION['email'] = $_POST['email'];
    
$_SESSION['betreff'] = $_POST['betreff'];
    
$_SESSION['nachricht'] = $_POST['nachricht'];
    
    
$email_i $_SESSION['email'];
    
    
// Email Funktion
    
function pruefe_mail($email_i) {
          if(
strstr($email_i"@")) {
            
$email_i explode ("@"$email_i);
            if(
strstr($email_i[1], ".")) $ok TRUE;
          }
          return 
$ok;
        }
    
    
// Eingaben prüfen
    
$fehler "";
    if(!
pruefe_mail($email_i) && !empty($email_i)) {
            
$fehler .= "<li>Email fehlerhaft!</li>";
            }
            if (
$_SESSION['name'] == ""){ 
            
$fehler .= "<li>Name fehlt!</li>";
            }
            if (
$_SESSION['email'] == ""){ 
            
$fehler .= "<li>Email fehlt!</li>";
            }
            if (
$_SESSION['betreff'] == ""){ 
            
$fehler .= "<li>Betreff fehlt!</li>";
            }
            if (
$_SESSION['nachricht'] == ""){ 
            
$fehler .= "<li>Nachricht fehlt!</li>";
            }
            if (
$CAPTCHA_EnteredText == $CAPTCHA_RandomText and isset($_POST['txtCode']) == true and isset($_SESSION['CAPTCHA_RndText'])){
            
$captcha true;
            } else {
            
$fehler .= "<li>Captcha fehlt oder fehlerhaft!</li>";
            }
    echo 
'<div style="border: 1px #000 solid; width: 350px; padding: 5px;">';        
    if (
$fehler == ""){
    
// Email zumsammensetzen
    
$email "From: " $_SESSION['email'];
    
$nachrichtfertig $_SESSION['name']. " schrieb: \n\n" $_SESSION['nachricht'];
    
$versand mail($empfaenger$_SESSION['betreff'], $nachrichtfertig$email);
            if (
$versand) {
            echo 
'<h3>Kontaktformular</h3>
            <p>Email ist erfolgreich versendet worden!</p>'
;
            
            
// Sessionvariablen löschen
            
unset($_SESSION['name']);
            unset(
$_SESSION['email']);
            unset(
$_SESSION['betreff']);
            unset(
$_SESSION['nachricht']);
            }
            
    } else {
    echo 
'<h3>Kontaktformular</h3>';
    echo 
$fehler;
    echo 
'<p><a href="index.php?P=kontakt">zurück</a></p>';
    }
    echo 
'</div>';    

    
// Session unset
    
unset($_SESSION['CAPTCHA_RndText']);
    
?>

config.php

PHP-Code:
<?
/***************************************************************************
 *                                                                          *
 *   copyright            : (C) 2008 Daniel Kauser                         *
 *   email                : danysahne333@mail.ru                           *
 *   website              : www.cb-talk.de/captcha.html                    *
 *                                                                         *
 *                                                                         *
 *                                                                         *
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   Diese Script ist gratis. Viele andere Scripte kosten viel Geld doch   *
 *   ich und zum Glück auch noch ein paar andere sind gegen sowas und      *
 *   bieten unsere Scripte gratis an. Deshalb löscht nicht den copyright   *
 *   von mir damit wir kein Stress kriegen                                   *
 *                                                                         *
 ***************************************************************************/
    
    
$empfaenger "info@test.de";                    // Emailadresse hier eintragen
    
$imagettftext "1";                             // Alternative Grafik-Zeichenfunktion nutzen? (bei fehlerhafter Darstellung
                                                    // oder fehlendem Truetype-support) 1=nein, 2=ja
    
$Welleneffekt "1";                             // Welleneffekt nutzen? 1=nein, 2=ja    
    
$Schrift "1";                                    // Shriftart wählen (1, 2, 3)
    
$Textgroesse "32";                            // Textgrösse
    
$Texthoehe "47";                                // Texthöhe
    
$bg1 "captcha_files/background1.png";            // Hintergrund 1 laden
    
$bg2 "captcha_files/background2.png";            // Hintergrund 2 laden
    
$ov1 "captcha_files/overlay1.png";            // Overlay 1 laden
    
$ov2 "captcha_files/overlay2.png";            // Overlay 2 laden
?>
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 13.12.2009, 22:55
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.10.2009
Beiträge: 65
talkuvit befindet sich auf einem aufstrebenden Ast
Standard

kann es sein das in die kontakt_ausw.php
diese ja folgendermaßen gesteuert wird per mail() funktion:
ZITAT: "Die E-Mail wird über die mail()-Funktion ohne Zeichensatzangabe verschickt. Da Du utf8 als Zeichensatz verwendest werden die E-Mail-Programme diese Zeichen folglich falsch darstellen. Du musst also bei der Mail-Funktion den korrekten Zeichensatz mitgeben. "

das ich in diesen zeilen:

PHP-Code:
// Email zumsammensetzen
    
$email "From: " $_SESSION['email'];
    
$nachrichtfertig $_SESSION['name']. " schrieb: \n\n" $_SESSION['nachricht'];
    
$versand mail($empfaenger$_SESSION['betreff'], $nachrichtfertig$email);
            if (
$versand) { 
muss ich da nicht irgendwas wie
PHP-Code:
Content-typetext/plaincharset=utf-
in die mail() hinein?
aber wie genau, denn ich weis nicht, ich will keine schreibfehler machen in die mail()
kann mir bitte da jemand weiterhelfen.

Geändert von talkuvit (13.12.2009 um 22:57 Uhr)
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 13.12.2009, 23:06
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Probiers mal damit, das ist ein paar Angaben für den Email-header:
PHP-Code:
$email "From: " $_SESSION['email'] . "\r\n";
  
$email .= "MIME-Version: 1.0\r\n"
  
$email .= "Content-type: text/html; charset=UTF-8\r\n"

Wenn es ganz "schlimm" wird kannst du ja auch deine Mail im HTML-Format versenden:
PHP-Code:
$nachrichtfertig '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                    <head>
                    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                    </head><body>'
;
  
$nachrichtfertig .= $_SESSION['name']. ' schrieb: <br />' $_SESSION['nachricht'];
  
$nachrichtfertig .= '</body></html>'
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
  #4 (permalink)  
Alt 13.12.2009, 23:27
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 23.10.2009
Beiträge: 65
talkuvit befindet sich auf einem aufstrebenden Ast
Standard

vielen dank, die umlaute Ä Ö Ü wurden nun richtig übermittelt in die email.
danke sebastian
gruß, talkuvit
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Redesign für Steiner Cycling Team pkipper Site- und Layoutcheck 11 09.02.2011 12:25
Fehler in der Darstellung der Seite gabischatz (X)HTML 14 09.01.2011 15:38
Mozilla Fehler in der Darstellung gabischatz CSS 4 20.11.2010 17:16
Fehler bei @ font face Darstellung schwarzgeviert CSS 2 18.02.2010 21:23
2 Fehler in der Darstellung bei DIV-Container zw. FF & I Dr.Gibble CSS 6 11.11.2005 15:16


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:08 Uhr.