2017-11-06 17 views
0

키릴 문자로 문의 양식에서 메시지를 보낸 후 메시지를 수신하지만 키릴 문자로는 수신되지 않습니다. html로 인코딩을 시도, 스택 오버플로에 뭐라 시도해, 난 여전히 그것을 만들 수 없습니다. 여기 내 PHP 파일문의 양식에서 키릴 문자로 메시지를 보낸 후 키릴 문자가 아닌 메시지를 수신했습니다

<?php 

if(isset($_POST['send'])) { 
    // Prepare the email 
    $to = '[email protected]'; 

    $name = $_POST['name']; 
    $mail_from = $_POST['email']; 
    $subject = 'Message sent from website'; 
    $message = $_POST['message']; 

    $header = "From: $name <$mail_from>"; 

    // Send it 
    $sent = mail($to, $subject, $message, $header); 
    if($sent) { 
     echo 'Вашето съобщение беше изпратено успешно!'; 
    } else { 
     echo 'Съжаляваме,но вашето съобщение не може да бъде изпратено.'; 
    } 
} 
?> 
+1

인코딩을 어디에 넣으려고 했습니까? '$ header = [ "From : $ name <$mail_from>", "Content-Type : text/html; charset = utf-8"]' – apokryfos

+0

이 작동하지 않습니다. $ headers =.와 같이 시도했습니다. "Content-Type : text/html; charset = utf-8 "; – BRD

+0

코드에서 이메일을받지 못했습니다. – BRD

답변

0

반드시 각 페이지 (양식과 액션/수신자 모두) 동일한 인코딩 사용 확인의 데이터입니다 (UTF-8, 또는 당신이 선호하는 확장 된 ASCII를 https://en.wikipedia.org/wiki/Windows-1251을 읽기).

경우에 따라 PHP에는 별도의 사용자 설정 파일이 있습니다 (PHP 인터프리터에게 무엇을 사용할지, 어떤 인코딩을 사용할지, 어떻게 든 페이지 헤더를 무시함).

공유 호스트의 사용자가 액세스 할 수없는 경우가 많기 때문에 php.ini이 있습니다. 사용자 기반 구성 파일도 있으므로 서버에서 public_html 폴더 외부의 구성 파일을 확인하십시오. 나는 파일이 무엇인지 불리는 것을 기억하지 못한다. 해당 파일에서 인코딩을 설정하면 Bob이 아줌마입니다.