witam
mam problem z kodowaniem polskich znaków w wysyłaniu terści wiadmości. O ile w temacie są polskie znaki to już w treści ich nie ma. Co może być nie tak i jakiego kodowania użyć. Na stronie z której to wysyłam mam ustawione kodowanie UTF-8
<?php
$adres_odbiorcy = test@op.pl';
$valid['nick'] = 3 ;
$valid['mail'] = 1 ;
$valid['temat'] = 3 ;
$valid['tresc'] = 5 ;
$komunikat['sukces'] = '<span class="style8">Dziękujemy. Twoja wiadomość została wysłana.</span>';
$komunikat['blad'] = '<span class="style11">Wiadomość <b>NIE</b> została wysłana. Popraw poniższe błędy.</span>';
$komunikat['nick'] = '<span class="style11">Imię i Nazwisko musi mieć min. 3 znaki.</span>'; /
$komunikat['mail'] = '<span class="style11">Podaj poprawny adres e-mail.</span>';
$komunikat['temat'] = '<span class="style11">Temat musi mieć min. 3 znaki.</span>';
$komunikat['tresc'] = '<span class="style11">Treść musi mieć min. 5 znaków</span>';
$komunikat['fail'] = '<span class="style11">Przepraszamy wystąpił chwilowy błąd. Spróbuj ponownie później</span>';
ob_start();
include('formularz.php');
$formularz = ob_get_contents();
ob_end_clean();
function wyswietl_forme($komunikat='') {
global $formularz;
$do_zmiany = array(
'#komunikat#',
'#strona#',
'#nick#',
'#mail#',
'#temat#',
'#tresc#'
);
$zmien_na = array(
$komunikat,
$_SERVER['REQUEST_URI'],
$_POST['nick'],
$_POST['mail'],
$_POST['temat'],
$_POST['tresc']
);
$formularz = str_replace ( $do_zmiany, $zmien_na, $formularz);
return $formularz;
}
function waliduj() {
global $komunikat;
global $valid;
if( $valid['nick'] > 0 ) {
if(strlen($_POST['nick']) < $valid['nick'] ){
$walidacja['nick'] = $komunikat['nick'];
}
}
if( $valid['mail'] == 1 ) {
if(!filter_var($_POST['mail'],FILTER_VALIDATE_EMAIL)) {
$walidacja['mail'] = $komunikat['mail'];
}
}
if( $valid['temat'] > 0 ) {
if(strlen($_POST['temat']) < $valid['temat'] ){
$walidacja['temat'] = $komunikat['temat'];
}
}
if( $valid['tresc'] > 0 ) {
if(strlen($_POST['tresc']) < $valid['tresc'] ){
$walidacja['tresc'] = $komunikat['tresc'];
}
}
if(empty($walidacja)) {
return 'true';
}else{
return $walidacja;
}
}
if (($_SERVER['REQUEST_METHOD'] == 'POST')) {
$walidacja = waliduj();
if ($walidacja == 'true'){
if(mail($adres_odbiorcy,"=?UTF-8?B?".base64_encode($_POST['temat'])."?=",'<p>Od: <b>'.$_POST['nick'].'</b></p><pre>'.$_POST['tresc'].'</pre>','From:'.$_POST['mail']."\r\nContent-Type: text/html; charset=utf-8")){ //sukces
print '
<div id="sukces">
<p>'.$komunikat['sukces'].'</p>
</div>
';
}else{
print '
<div id="blad">
<p>'.$komunikat['fail'].'</p>
</div>
';
print wyswietl_forme();
}
}else{
$blad_walidacji = $walidacja;
$blad_walidacji = '
<div id="blad">
<p>'.$komunikat['blad'].'</p>
<ul>
';
foreach ($walidacja as $wpis) {
$blad_walidacji .= '<li>'.$wpis.'</li>';
}
$blad_walidacji .= '
</ul>
</div>
';
print wyswietl_forme($blad_walidacji);
}
}else{
print wyswietl_forme();
}
?>