인터넷에서 힙을 검색했지만 코드가 작동하지 않는 것 같습니다. 이처럼 보이는 이메일에 내 PHP 코드 결과 :PHP 양식을 사용하여 보낸 메일에서 일본어 텍스트가 깨져서 표시됨
叹 涟 : 밥 メ ッ セ 〖ジ : 銇 撱 倱 銇 仭 銇
그들은 (일본어 문자)과 같아야합니다
名 前 : 밥 メ ッ セ ー ジ : こ ん い ち は
필드에 영어 문자를 입력 할 때 그것은 잘 작동:.
名 前 : 크리스 メ
다음은 코드입니다. 웹 사이트 페이지 자체는 euc-jp로 인코딩됩니다. 이메일 제목이 문제없이 표시됩니다. 내 Mac 메일 응용 프로그램 및 내 안드로이드 장치 (Gmail 응용 프로그램, 안드로이드 메일 응용 프로그램)에서 텍스트가 왜곡됩니다. 어쩌면 htmlspecialchars 함수에 문제가있을 수 있습니다. php에 대해 충분히 잘 모르겠습니다. 제발 도와주세요!
<?php
// Check for empty fields
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No arguments Provided!";
return false;
}
$name = strip_tags(htmlspecialchars($_POST['name']));
$email_address = strip_tags(htmlspecialchars($_POST['email']));
$message = strip_tags(htmlspecialchars($_POST['message']));
$to = "[email protected]\r\n";
$email_subject = "お問い合わせ\r\n";
$email_body = "名前: $name<br><br>メッセージ: $message\r\n";
$headers = "From: [email protected]\r\n";
$headers .= "Reply-To: $email_address\r\n";
$headers .= "Content-Type:text/html; charset=euc-jp\r\n";
mail($to,'=?euc-jp?B?'.base64_encode($email_subject).'?=',$email_body,$headers);
return true;
?>
업데이트 코드 : 나는 당신의 코드가 완벽하게 나를 위해 잘 작동하지만 왜 몰라
<?php
// Check for empty fields
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No arguments Provided!";
return false;
}
$name = strip_tags(htmlspecialchars($_POST['name']));
$email_address = strip_tags(htmlspecialchars($_POST['email']));
$message = strip_tags(htmlspecialchars($_POST['message']));
$to = '[email protected]';
$email_subject = "お問い合わせ";
$email_body = "名前: $name\n\n"."メッセージ: $message";
$headers = "From: [email protected]\n";
$headers .= "Reply-To: $email_address\n";
mail($to,$email_subject,$email_body,$headers);
return true;
?>
이 스크립트는 실제로 UTF-8과 같은 호환되지 않는 무언가를 EUC-JP로 작성되지 않고), 나는 당신이 당신의 브라우저 나 컴퓨터 언어 설정을 확인하는 것이 좋습니다
: 내가 함께 시도? – Synchro
PHP 매뉴얼을 보시면,'htmlspecialchars()'인자 셋이 인자로 사용됩니다. 기본값은 utf-8입니다. 대부분의 함수/라이브러리가 PHP에서 utf-8로 기본 설정되지 않은 경우 많은 함수/라이브러리가 사용됩니다. 예 fgetcsv, ... – frz3993
예, 스크립트는 euc-jp입니다. 그런 주장을한다면,이게 옳은 것 같군요? (위 참조) – Chris