Kontaktformular soll Kyrillisch/russische Schrift senden

scredone

Grünschnabel
Hallo, ich möchte das mein kontaktformular in der Lage ist kyrilische Schriftzeichen zu senden.
Wenn ich kyrillischen Text eingebe gibt er mir aber sofort die in der "kontakt.php" definierte Fehlermeldung -"Bitte füllen sie mindesten....aus"

Das Kontaktformular besteht aus drei Teilen.
1. der html-Teil
2. kontakt.php
3. class.phpmailer.php

Da ich nicht weiß wo die Quelle für die Lösung ist, poste ich alle drei Teile.
(kenne mich mit php leider gar nicht aus:p)


1. html-Ausschnitt
HTML:
<form method="POST" action="kontakt.php" name="kontakt" accept-charset="ISO-8859-1">

xxx

</form>

- Liegts am charset?
(css und html hab ich zum posten durch die drei x ersetzt)


2. kontakt.php
PHP:
<?php

$empfaenger_email = "info@blabla.de";
$empfaenger_name = "BlaBla";
$danke = "Danke f&uuml;r Ihre Nachricht!";
$fehler = "Bitte f&uuml;llen Sie mindestens 'Ihr Name' und 'Ihre Mitteilung' aus.";

$reg_email = '^[a-z0-9](([_\.\-]?[a-z0-9]+)*)@([a-z0-9]+)(([\.\-]?[a-z0-9]+)*)\.([a-z]{2,})$';
$name = stripslashes($_POST['name']);
$email = eregi($reg_email, $_POST['email']) ? $_POST['email'] : "";
$betreff = stripslashes($_POST['betreff']);
$nachricht = stripslashes($_POST['nachricht']);

if (preg_match('/[a-z]{2}/i', $name) && !empty($_POST['nachricht'])) {
  require("class.phpmailer.php");
  $mail = new PHPMailer();
  $mail->IsMail();
  $mail->From = $empfaenger_email;
  $mail->FromName = $name;
  $mail->Subject = empty($betreff) ? "Nachricht über das Kontaktformular" : $betreff;
  $mail->Body = $nachricht;
  if (!empty($email)) {
    $mail->AddReplyTo($email, $name);
  }
  $mail->AddAddress($empfaenger_email, $empfaenger_name);
  $mail->Send();
  $output = $danke;
} else {
  $output = $fehler;
}

$fh = fopen('kontakt.html', 'r');
$content = fread($fh, filesize('kontakt.html'));
$content = str_replace('<!--{{', '', $content);
$content = str_replace('}}-->', '', $content);
$content = preg_replace('/<textarea([^>]+)><\/textarea>/i', '<textarea disabled="disabled"$1>'.$output.'</textarea>', $content);
$content = preg_replace('/<input([^>]*)type="submit"([^>]*)\/>/i', '<input disabled="disabled"$1type="submit"$2/>', $content);

print $content;

?>


3. class.phpmailer.php

Weiß leider nicht welcher Part dieses "doch recht langen" Codes wichtig für die Lösungsfindung ist, daher ist diese Datei im Anhang zu finden.


Bitte als Antwort nicht nur Stichworte, da ich mich mit php nicht besonders auskenne.

Danke im voraus.
 

Anhänge

Ich tippe mal darauf das es - wie du selber schon schreibst - an charset liegt. Wenn man ein bisschen im Netz nach kyrillisch und HTML sucht landet man immer bei "UTF 8".

Ändere mal alles (die Seite, das Formular, die eMail) so um und schau was dann passiert.
 
Danke schon mal für die Antwort.
Das ändern des Charsets hat aber leider nicht zum Erfolg geführt. (html & class.phpmailer.php)


Merkwürdig finde ich, dass das Kontaktformular gar keine Nachricht sendet wenn ich kyrillische Schrift eingebe und sofort die Fehlermeldung kommt...
Bei "Normalem" Text ****t es prima.

Hast du noch ne Idee?
 
Habe festgestellt dass nur beim Eingabefeld "Name" keine kyrillischen Schriftzeichen drin stehen dürfen.
Im Eingabefeld "email" eingetragene kyrillische Zeichen werden in der angekommenen email einfach weggelassen.
In den anderen Feldern gibts keine Probleme mit den Schriftzeichen.
 
Zuletzt bearbeitet:
Zurück