login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Contactform problemen met cyrillische teksten

Offline PieterToo - 23/04/2011 09:07 (laatste wijziging 23/04/2011 11:13)
Avatar van PieterTooNieuw lid Ben weer wat verder gekomen met de website voor mijn vriendin, maar loop weer tegen een probleem aan.
Heb een contact formulier geplaatst op de site, en dat werkt voor nederlands en engels perfect, maar het kan ook in het russisch ingevuld worden, en daar treedt het probleem op. De gegevens die het formulier dan naar het email adres van mijn vriendin stuurt zijn onleesbaar.
Het is een formulier welke gebruik maakt van Ajax, maar, hoe kan ik toch de russische tekst via email laten versturen, zonder dat de russische tekens "vertaald" worden.
Ik weet niet of dit hier thuis hoort, zoniet, dan graag aangeven waar ik deze vraag wel kwijt kan.
Alvast bedankt.

15 antwoorden

Gesponsorde links
Offline Kevin - 23/04/2011 12:13
Avatar van Kevin Crew Ajax/REST @PieterToo: Kan je je broncode op plaatscode.be zetten aub?
Dat is een stuk makkelijker voor ons als we het zelf kunnen bekijken.

Het zou best wel eens kunnen dat je gewoon een charset moet definiëren.
Offline PieterToo - 24/04/2011 10:47 (laatste wijziging 24/04/2011 11:21)
Avatar van PieterToo Nieuw lid Volgens mij is de code wel goed, ik kan ook gewoon de cyrillische tekens invoeren, en Ajax checkt ook de karakters, en geeft aan dat ze thuishoren in het cyrillisch alfabet.
Alleen, het emailen gaat fout, dus ik denk dat het fout gaat in het email-gedeelte?

In ieder geval, www.testplekje.nl kan je het zien.
De contact paginaas in het nederlands en engels werken ok, ook het email gedeelte, alleen op de russische kontakt pagina gaat het emailen van de cyrillishe tekens niet goed.

Oh ja, hier de php-code:

<?php

$name = $_POST['name']; // contain name of person
$email = $_POST['email']; // Email address of sender
$web = $_POST['web']; // Your website URL
$body = $_POST['text']; // Your message
$receiver = "test@testplekje.nl" ; // hardcorde your email address here - This is the email address that all your feedbacks will be sent to
if (!empty($name) & !empty($email) && !empty($body)) {
$body = "Name:{$name}\n\nWebsite :{$web}\n\nComments:{$body}";
$send = mail($receiver, 'Contact Form Submission', $body, "From: {$email}");
if ($send) {
echo 'true'; //if everything is ok,always return true , else ajax submission won't work
}

}

?>

Heb zo even deze lijn toegevoegd:

$header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";

Maar in de ontvangen email zijn de letters nog steeds onleesbaar. Terwijl ik ook in Outlook wel gewoon russische email kan lezen, ook in het cyrillisch.

Waar kan ik nog meer naar kijken?
Offline vinTage - 24/04/2011 11:28
Avatar van vinTage Nieuw lid Wat als je je bericht door htmlentities haalt?

  1. $body = htmlentities($_POST['text'], ENT_QUOTES, "UTF-8");
Offline PieterToo - 24/04/2011 11:33 (laatste wijziging 24/04/2011 11:40)
Avatar van PieterToo Nieuw lid Ik ga dat eens proberen.

Het werkt niet, nog steeds hetzelfde. Dit is wat ik ontvang:

йцукенфывапрÑчÑмит

Ziet er niet echt leesbaar uit.
Offline vinTage - 24/04/2011 11:47 (laatste wijziging 24/04/2011 11:50)
Avatar van vinTage Nieuw lid Net even getest op localhost en werkt feilloos:

  1. <?php
  2. $headers = "MIME-Version: 1.0\n";
  3. $headers .= "Content-type: text/html; charset=UTF-8\n";
  4. $headers .= "From: vintage <test@test.bla>\n";
  5. $headers .= "Content-Transfer-Encoding: 7bit\n";
  6. $body = htmlentities($_GET['body'], ENT_QUOTES, "UTF-8");
  7. mail('mijjnMail.be', 'test', $body, $headers);
  8. ?>


en surfen naar:
  1. jeTestFile.php?body=hier iets russisch..


edit, zonder htmlentities werkt het ook, het is dus gewoon een kwestie van de juiste headers!
Offline PieterToo - 24/04/2011 12:27
Avatar van PieterToo Nieuw lid En mij lukt het dus voor geen meter. Nogmaals geprobeerd met de door jou voorgestelde wijzigingen, maar ik krijg hetzelfde als ik in mijn vorige mail heb beschreven, zelfs als ik mijn system-locale op russisch zet.

Wat zou ik verder nog kunnen proberen?
Offline vinTage - 24/04/2011 12:32
Avatar van vinTage Nieuw lid Dan weet ik het ook niet meer, hier werkt het gewoon perfect.
Offline PieterToo - 24/04/2011 12:35 (laatste wijziging 24/04/2011 12:37)
Avatar van PieterToo Nieuw lid Ik ga even kijken of ik het met jouw manier wel op WAMP goed krijg, dan weet ik in ieder geval weer iets meer.

In ieder geval bedankt, heb weer iets meer geleerd.

Nog een laatste vraagje, waarom heb je in de headers 1 keer alleen = en de andere keren .= ?
Offline koosax - 24/04/2011 13:03
Avatar van koosax Lid
PieterToo schreef:
Ik ga even kijken of ik het met jouw manier wel op WAMP goed krijg, dan weet ik in ieder geval weer iets meer.

In ieder geval bedankt, heb weer iets meer geleerd.

Nog een laatste vraagje, waarom heb je in de headers 1 keer alleen = en de andere keren .= ?


Een .= gebruik je om iets aan de variabele toe te voegen.
Bijvoorbeeld:
  1. $output = 'Hoi';
  2. $output .= 'PieterToo';
  3.  
  4. echo $output; (Hoi PieterToo)
Offline PieterToo - 24/04/2011 14:25
Avatar van PieterToo Nieuw lid Bedankt voor je uitleg.
Bij mij werkt het op localhost ook niet. Weet niet wat ik fout doe, maar krijg nog steeds die rommel.
Maar, ga gewoon verder met zoeken.

Bedankt voor alles tot nu toe.
Offline WouterJ - 24/04/2011 17:29
Avatar van WouterJ HTML gevorderde
koosax schreef:
Bijvoorbeeld:
[..code..]

In jouw voorbeeld zou je HoiPieterToo krijgen, omdat je een spatie mist.
Offline vinTage - 24/04/2011 18:04
Avatar van vinTage Nieuw lid en sowieso een parse error, maargoed, het ging meer om de .= 
Offline PieterToo - 08/06/2011 16:00
Avatar van PieterToo Nieuw lid Mijn probleem met het Cyrillisch is nog steeds niet opgelost.

Ik voer op de website RusTran.Biz op het russische contact formulier tekst in in het russisch, welke dan als je op de submit knop verstuurdt word naar een email adres.

Daar aangekomen echter zijn de cyrillische karakters onleesbaar geworden. Nog steeds zoals ik hier een paar berichten eerder heb laten zien. Ik weet echter wel dat het zou moeten werken, ik kan in ieder geval wel cyrillische teksten laten zien en gewoon email met daarin cyrillische tekens zijn ook gewoon leesbaar.

Iemand nog enig idee waar ik naar zou moeten kijken?
Offline valles10 - 08/06/2011 18:23
Avatar van valles10 HTML interesse Pieter, heb je ook die headers ingesteld zoals VinTage zei?
Offline PieterToo - 08/06/2011 19:24
Avatar van PieterToo Nieuw lid Dat staat allemaal goed ja.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.21s