SHIFT_JIS로 인코딩 된 문자를 받아들이고 이러한 결과를 전자 메일을 통해받는 사람에게 보내야하는 양식을 작성 중입니다. 정말 나를 놀라게하지 않는 (PHP에서 SHIFT_JIS 텍스트 사용
$NameJp = $_POST['NameJp'];
$contents = <<<TEST
Name: $NameJp
...
TEST
을하지만 그 일을 나타나지 않습니다 : 나는 단순히 $ _POST 변수의 결과를 캡처 시도하고 다음과 같은 텍스트 블록에 삽입하기). 이것은 PHP에서 비 ASCII 문자를 다루는 첫 번째 시도이며 사람들이 몇 가지 제안을하기를 희망합니다. 아마도 텍스트를 인코딩하는 간단한 함수가 누락되었습니다.
또한 발생할 수있는 다른 잠재적 인 함정이 있습니까?
감사합니다.
의견을 보내 주셔서 감사합니다. UTF-8을 사용하도록 양식을 변환 할 수있는 것으로 보입니다. UTF-8은 더 표준적이고 더 잘 지원되는 것처럼 보입니다. –
@Joe SHIFT_JIS는 문자의 특정 하위 집합으로 제한되지만 UTF-8은 (사실상) 모든 문자를 나타낼 수 있습니다. SHIFT_JIS (또는 ASCII 또는 제한된 문자 세트)로 작업 할 때는 "유효하지 않은"문자를 인코딩하지 않도록 세심한주의가 필요합니다. 이런 이유로 대부분의 툴은 기본적으로 유니 코드를 선호합니다. 즉, 더 매끄럽게 타면서 개발할 수 있지만 UTF-8을 계속 사용해야합니다. 그 이외의 SHIFT_JIS도 잘 지원되어야합니다. – deceze
방금 문제를 해결할 수있었습니다. 유니 코드 문자를 양식에 제출하는 방법에 대한 자세한 내용을 조사한 후에 양식의 'accept-charset'필드를 발견했습니다. 일단 모든 것이 예상대로 작동하기 시작했다. –