Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 斯堪的纳维亚邮件_Php - Fatal编程技术网

Php 斯堪的纳维亚邮件

Php 斯堪的纳维亚邮件,php,Php,我很难让斯堪的纳维亚字母ÆØÅ/æå以我的电子邮件形式工作。表单发送消息,我接收到的消息很好,除非消息中有ÆØØ/æå 非常感谢您的帮助 <?php header('Content-type: text/html; charset=utf-8'); $header = "Content-type: text/plain; charset=utf-8\r\n"; session_start(); ob_start(); $dontsendemail = 0; $possiblespam =

我很难让斯堪的纳维亚字母ÆØÅ/æå以我的电子邮件形式工作。表单发送消息,我接收到的消息很好,除非消息中有ÆØØ/æå

非常感谢您的帮助

<?php
header('Content-type: text/html; charset=utf-8');
$header = "Content-type: text/plain; charset=utf-8\r\n";

session_start();
ob_start();
$dontsendemail = 0;
$possiblespam = FALSE;
$strlenmessage = "";
$email = $_POST['email']; 
$message = $_POST['message'];
$subject = $_POST['subject'];


$emailaddress = array();
$emailaddress[1] = "lalala@lalala.lala";
    $emailaddress[2] = "lalala@llllaaa.laaaa";
    $emailaddress[3] = "laaaverksted@laa.verksted";
    $emailaddress[4] = "ess@xfrag.com";
    $contactnameindex = $_POST['emailaddress'];
if ($contactnameindex == 0 || !isset($_POST['emailaddress'])) echo '<div id="notification" class="info_div"><span class="ico_cancel">Du valgte ikke en mottaker.</span></div>';
else $emailaddress = $emailaddress[$contactnameindex];
function checkcaptcha() {
        if ($_SESSION["pass"] != $_POST["userpass"]) {
            echo '<div id="notification" class="info_div"><span class="ico_cancel">Beklager, men feilet i å skrive inn bildeverifiseringen. Merk at bildeverifiseringen krever at du skiller imellom store og små bokstaver.</span></div>';
            return 1;
        }
    }

function checkemail($field) {
// checks proper syntax
if( !preg_match( "/^([a-zA-Z0-9])+([a-zA-Z0-9._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9._-]+)+$/", $field))
{
    echo '<div id="notification" class="info_div"><span class="ico_cancel">Feilaktig e-postadresse registrert.</span></div>'; 
    return 1;
}
}
function spamcheck($field) {
if(eregi("to:",$field) || eregi("cc:",$field) || eregi("\r",$field) || eregi("\n",$field) || eregi("%0A",$field)){ 
    $possiblespam = TRUE;
}else $possiblespam = FALSE;
if ($possiblespam) {
    echo '<div id="notification" class="info_div"><span class="ico_cancel">Mulig forsøk på spam oppdaget. Hvis dette ikke er tilfelle, kan du redigere innholdet i kontaktskjemaet, og prøv igjen.</span></div>';
    return 1;
}
}
function strlencheck($field,$minlength,$whichfieldresponse) {
if (strlen($field) < $minlength){
    die($whichfieldresponse); 
    return 1;
}
}

    if ($dontsendemail == 0) $dontsendemail = checkcaptcha($email);

if ($dontsendemail == 0) $dontsendemail = checkemail($email);
if ($dontsendemail == 0) $dontsendemail = spamcheck($email);
if ($dontsendemail == 0) $dontsendemail = spamcheck($subject);
if ($dontsendemail == 0) $dontsendemail = strlencheck($email,10,'<div id="notification" class="info_div"><span class="ico_cancel">E-mail feltet er for kort.</span></div>');

if ($dontsendemail == 0) $dontsendemail = strlencheck($subject,5,'<div id="notification" class="info_div"><span class="ico_cancel">Emnefeltet er for kort.</span></div>');

if ($dontsendemail == 0) $dontsendemail = strlencheck($message,10,'<div id="notification" class="info_div"><span class="ico_cancel">Meldingen er for kort.');
if ($dontsendemail == 0) $dontsendemail = strlencheck($emailaddress,8,'<div id="notification" class="info_div"><span class="ico_cancel">Du har ikke valgt en mottaker av meldingen.</span></div>');
if ($dontsendemail == 0){mail($emailaddress, "Emne: $subject","Fra: $email", $message); echo '<div id="sent" class="info_div"><span class="ico_success">Takk! Din e-post til oss er registrert og vil bli besvart innen 24-timer på dagene Mandag-Fredag.</span></div>'; }
ob_end_flush();
?>

你忘了你的浏览器编码了吗?还有电子邮件客户端编码

此外,您不能向邮件()发送数组;功能
编辑:此外,您不应该使用eregi();由于历史原因,它已被弃用,标准电子邮件编码为ISO-8859-1

要正确发送字符,必须将电子邮件显式编码为UTF-8,如下所示:


或者,您可以使用
utf8\u decode()
将文本转换为ISO-8859-1。但是,这只适用于西方字符(=ISO-8859-1所涵盖的字符)-始终使用UTF-8是更好的选择。

在邮件正文中没有指定内容的字符集。脚本顶部的
header()
调用不适用于电子邮件,它仅适用于发送到运行此脚本的浏览器的脚本输出

由于这是一封HTML电子邮件,您必须在邮件的
块中添加一个元标记:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


但是,请不要像这样手工构建MIME/html邮件。太难看了。使用或自动为您完成所有繁重工作。它们快速、简单、免费。

@yes123如果他把所有的代码都放在同一个
if
中,他的代码就不会工作。而不是告诉他他的代码看起来有多糟糕(是的,我必须承认,当我自己看到它时,我哭了一点)你可能想给出建设性的建议,如何让它看起来更好,而不是贬低和屈尊。我必须说我同意这里的@Dennis。也许可以降低一两个等级。@VHH,当你在信息中使用这些字符时会发生什么?“ÃøåÆÃÃÔ-这是使用ÆØ和æå时它发送给我的信息。谢谢你,丹尼斯,我对PHP编码相当陌生。如果您能帮我重写,我将不胜感激。:-)