Php Kontaktformular Ulaute konvertieren
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
browser
code
date
datei
datum
email
ersetzen
folgende funktion
funktion
header
info
information
konvertieren
land
message
mime
nachricht
text
type
umlaut
-
Ich verwende folgende Funktion um meine per Get übertragenen Formularinhalte per mail() zu senden.
Allerdings werden Umlaute falsch angezeigt und ich bin noch relativ neu in php, kann mir jemand sagen mit welcher funktion ich die umlaute konvertieren kann? Alle Dateien sind iso 8859-1
Hier die send.php
<?php header('content-type: application/json; charset=ISO 8859-1'); if (isset($_GET["firstname"])) { $firstname = strip_tags($_GET['firstname']); $email = strip_tags($_GET['email']); $state = strip_tags($_GET['state']); $message = strip_tags($_GET['message']); $header = "From: ". $firstname . " <" . $email . ">rn"; $ip = $_SERVER['REMOTE_ADDR']; $httpref = $_SERVER['HTTP_REFERER']; $httpagent = $_SERVER['HTTP_USER_AGENT']; $today = date("F j, Y, g:i a"); $recipient = 'Meine Email@example.org'; $subject = 'Kontaktformular'; $mailbody = " Name: $firstname Land:: $state Nachricht $message IP: $ip Browser info: $httpagent Referrer: $httpref Datum: $today "; $result = 'success'; if (mail($recipient, $subject, $mailbody, $header)) { echo json_encode($result); } } ?>
Beitrag zuletzt geändert: 26.2.2012 15:31:16 von abizeitung-lg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Liegt daran das deine Informationen eigentlich UTF-8 sein sollten:
<?php function mail_utf8($to, $subject = '(No subject)', $message = '', $header = '') { $header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n"; mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header); } ?>
-
Und was soll ich mit dem von dir geposteten script anstellen? Ich nehmen an ich soll überall die kodiereung ändern und dann?
Aber schonmal danke für deine Hilfe! -
In php gibt es die Funktion str_replace() damit kannst du die umlaute einfach ersetzen!
Bsp:
$text = "Ü Ö Ä ü ö ä"; $text = str_replace("Ü", "Ü", $text); $text = str_replace("Ö", "Ö", $text); $text = str_replace("Ä", "Ä", $text); $text = str_replace("ü", "ü", $text); $text = str_replace("ö", "ö", $text); $text = str_replace("ä", "ä", $text); echo $text;
So solltest du den in einer Variable gespeicherten text verändern können.
Beitrag zuletzt geändert: 26.2.2012 16:56:27 von legendary-guild -
funktiniert leider nicht:
Hier die send.php
<?php header('content-type: application/json; charset=ISO 8859-1'); if (isset($_GET["firstname"])) { $firstname = strip_tags($_GET['firstname']); $email = strip_tags($_GET['email']); $state = strip_tags($_GET['state']); $message = strip_tags($_GET['message']); $header = "From: ". $firstname . " <" . $email . ">rn"; $message = str_replace("Ü", "Ü", $message); $message = str_replace("Ö", "Ö", $message); $message = str_replace("Ä", "Ä", $message); $message = str_replace("ü", "ü", $message); $message = str_replace("ö", "ö", $message); $message = str_replace("ä", "ä", $message); $ip = $_SERVER['REMOTE_ADDR']; $httpref = $_SERVER['HTTP_REFERER']; $httpagent = $_SERVER['HTTP_USER_AGENT']; $today = date("F j, Y, g:i a"); $recipient = 'Meine Email@example.org'; $subject = 'Kontaktformular'; $mailbody = " Name: $firstname Land:: $state Nachricht $message IP: $ip Browser info: $httpagent Referrer: $httpref Datum: $today "; $result = 'success'; if (mail($recipient, $subject, $mailbody, $header)) { echo json_encode($result); } } ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage