PHP: "?" az ékezetes betűk helyett az outlook "küldő mezőjében"
Sziasztok!
Olyan problémám volna, hogy írtam egy php-s mailküldő scriptet. Probléma: ha outlookban tekintem meg a levelet, akkor a "feladó"/"from" mezőbe ha ékezetes karaktereket írok, akkor csupán "?" karakterek jelennek meg helyettük. Kérem aki tud segítsen! Mellékelem a scriptet:
<html>
<LINK REL="StyleSheet" TYPE="text/CSS" HREF="style.css" TITLE="betuk">
<head>
</script>
<title>A Rexmill Kft. hivatalos honlapja</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta name="keywords" content="">
</head>
....
<?php
$kinek = "ext-zsolt.hohler##kukac##nokia.com";
$mail = $_POST['Email'];
$Targy = $_POST['targya'];
$egy= $_POST['egya'];
$ketto= $_POST['kettoa'];
$harom= $_POST['haroma'];
$szovega = $_POST['Message'];
$szoveg = str_replace("\r", '<br />', $szovega);
$thanks = "
<p align='left'>
<br>
$szoveg
<br>
A levél el lett küldve az alábbi e-mail cím(ek)re: <br><b>$kinek<br>$mail.
<br>Amint tudunk, válaszolunk az Ön kérdésire<br></b></p>";
if($_POST['submitform'])
{
$Name = $_POST['Name'];
$Email = $_POST['Email'];
$Message = $_POST['Message'];
$require = $_POST['require'];
$dcheck = explode(",",$require);
while(list($check) = each($dcheck))
{
if(!$$dcheck[$check]) {
$error .= "Ön nem töltötte ki az alábbi mezõket: <b>$dcheck[$check]</b>.<br>";
}
}
if ((!ereg(".+\@.+\..+", $Email)) || (!ereg("^[a-zA-Z0-9_@.-]+$", $Email))){
$error .= "Hibás e-mail cím.<br>Az Ön által megadott e-mail cím <b>$Email</b> - nem helyes formátumú. Kérem adjon meg egy valós e-mail címet!";
}
if($error)
{
echo $error;
echo '<br><a href="#" onClick="history.go(-1)">Kérem próbálja meg újra.</a>';
}
else
{
$message = "
Név: $Name
E-mail: $Email
Tárgy: $Targy
Darabszám: $egy
Szállítási határidõ: $ketto
Szállítási cím: $harom
Üzenet: $Message
-----------------------------
";
$subject = "Árajánlat kérést küldött Önnek: $Name";
$subject2 = "Saját árajánlat küldése a Rexmill Kft-nek";
mail($kinek,"$subject","$message","From: $Name <$Email>");
mail($mail,"$subject2","$message","From: $Name <$Email>");
echo "$thanks";
}
■ Olyan problémám volna, hogy írtam egy php-s mailküldő scriptet. Probléma: ha outlookban tekintem meg a levelet, akkor a "feladó"/"from" mezőbe ha ékezetes karaktereket írok, akkor csupán "?" karakterek jelennek meg helyettük. Kérem aki tud segítsen! Mellékelem a scriptet:
<html>
<LINK REL="StyleSheet" TYPE="text/CSS" HREF="style.css" TITLE="betuk">
<head>
</script>
<title>A Rexmill Kft. hivatalos honlapja</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta name="keywords" content="">
</head>
....
<?php
$kinek = "ext-zsolt.hohler##kukac##nokia.com";
$mail = $_POST['Email'];
$Targy = $_POST['targya'];
$egy= $_POST['egya'];
$ketto= $_POST['kettoa'];
$harom= $_POST['haroma'];
$szovega = $_POST['Message'];
$szoveg = str_replace("\r", '<br />', $szovega);
$thanks = "
<p align='left'>
<br>
$szoveg
<br>
A levél el lett küldve az alábbi e-mail cím(ek)re: <br><b>$kinek<br>$mail.
<br>Amint tudunk, válaszolunk az Ön kérdésire<br></b></p>";
if($_POST['submitform'])
{
$Name = $_POST['Name'];
$Email = $_POST['Email'];
$Message = $_POST['Message'];
$require = $_POST['require'];
$dcheck = explode(",",$require);
while(list($check) = each($dcheck))
{
if(!$$dcheck[$check]) {
$error .= "Ön nem töltötte ki az alábbi mezõket: <b>$dcheck[$check]</b>.<br>";
}
}
if ((!ereg(".+\@.+\..+", $Email)) || (!ereg("^[a-zA-Z0-9_@.-]+$", $Email))){
$error .= "Hibás e-mail cím.<br>Az Ön által megadott e-mail cím <b>$Email</b> - nem helyes formátumú. Kérem adjon meg egy valós e-mail címet!";
}
if($error)
{
echo $error;
echo '<br><a href="#" onClick="history.go(-1)">Kérem próbálja meg újra.</a>';
}
else
{
$message = "
Név: $Name
E-mail: $Email
Tárgy: $Targy
Darabszám: $egy
Szállítási határidõ: $ketto
Szállítási cím: $harom
Üzenet: $Message
-----------------------------
";
$subject = "Árajánlat kérést küldött Önnek: $Name";
$subject2 = "Saját árajánlat küldése a Rexmill Kft-nek";
mail($kinek,"$subject","$message","From: $Name <$Email>");
mail($mail,"$subject2","$message","From: $Name <$Email>");
echo "$thanks";
}
Karakterkódolási probléma
PHP-ben igy kell beállitani a helyes karakterkódolást:
Karakterkódolási problémák kiküszöbölése