Hei, osaako joku kertoa syyn miksi palautelomakkeestani tulostuu äät ja ööt sähköpostiini seuraavasti:
äöäöäöäöäÃ
palautelomakkeen käsittelijä on seuraavanlainen:
<?php $nimi = $_POST['nimi']; $katu = $_POST['katu']; $pnro = $_POST['pnro']; $ptoimi = $_POST['ptoimi']; $puh = $_POST['puh']; $email = $_POST['email']; $palaute = $_POST['palaute']; $name = strip_tags($nimi); $address = strip_tags($katu); $zipcode = strip_tags($pnro); $postadd = strip_tags($ptoimi); $tel = strip_tags($puh); $mail = strip_tags($email); $feedback = strip_tags($palaute); $emailosoite = "--@--.fi"; $ip = $_SERVER['REMOTE_ADDR']; $ipkaksi = gethostbyaddr($_SERVER['REMOTE_ADDR']); $aika = date('d.m.Y H:i:s'); mail("$emailosoite", "Palaute kotisivuilta"," Palaute annettu: $aika Nimi: $name puhelin: $tel Email: $mail Osoite: $address $zipcode $postadd Viesti: $feedback -------------- Viesti jatetty IP-osoiteesta: $ip ( $ipkaksi ) ","From: $mail"); exit ("Kiitos palautteestasi."); ?>
Se ainaski on että kaikki Linux palvelimet eivät osaa käsitellä Ä eikä Ö:tä. Olen huomannut sen meidän koulun koneilla suomenkielistä tetkstiä jossa on ääkkösiä saa hieman arvailla.
No se... Olisko muita syitä. Inhottavaa lukea palauteviestejä ku saa miettiä että mitähän tossakin on yritetty sanoa :(
Pitääpä ottaa selvää millaset palvelimet tuolla Futuron hostingilla on...
EDIT: No linuxipalvelimet on, ja asiakaspalvelusta todettiin vain että heidän omat lomakkeet toimii moitteitta, vaikka olisi ääkkösiä. Joten onko tuossa koodissa jotain mätää... (ei ainakaan mun mielestä)
Oliskohan sivustosi merkistö UTF-8? Sähköposti käyttää ISO-merkistökoodausta oletuksena. Eli aja se viesti ensin utf8_decode($string); lävitse ennen lähetystä.
JTS kirjoitti:
Oliskohan sivustosi merkistö UTF-8? Sähköposti käyttää ISO-merkistökoodausta oletuksena. Eli aja se viesti ensin utf8_decode($string); lävitse ennen lähetystä.
Voitko antaa pienen esimerkin kuinka tuo tapahtuu. Tutustun kyllä paraikaa https://www.php.net/utf8-decode sivustoon mutta enkunkieli hiukan häiritsee (pitää lukea 10 kertaa että tajuan asian)
Edit: eli laitetaanko nuo muuttujat tuonne sulkujen sisälle?vai kannattaisiko tehdä muuttuja $viesti (joka sisältää kaikki viestiin liittyvät muuttujat ja ajaa se sitten tuon utf8_decode($string); lävitse ennen lähetystä?
Jep, se viesti vaikka muuttujaan $viesti jonka ajat sitten tuon funktion lävitse.
No joo, eipä onnistunut. tiedä sitten menikö kuinka väärin:
$viesti = (" Palaute annettu: $aika -------------- Nimi: $name -------------- puhelin: $tel -------------- Email: $mail -------------- Osoite: $address $zipcode $postadd -------------- Viesti: $feedback -------------- Viesti jatetty IP-osoiteesta: $ip ( $ip2 ) "); utf8_decode($viesti); mail("$emailosoite", "Palaute kotisivuilta","$viesti","From: $mail"); exit ("Kiitos palautteestasi.");
Aloittelija_77 kirjoitti:
utf8_decode($viesti);
Et ota palautusarvoa mihinkään talteen.
Eli rautalankana
$viesti = utf8_defode(" läpälää ");
Joo tein jo ilman rautalankaa, ja nyt toimii.
Kiitos kaikille vastauksista :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.