나는 나는 "mb_detect_encoding"를 사용하여 문자열의 인코딩을 확인 PHP에서쓰기 유니 코드 문자 -
(중요하지 않습니다)를 DB에서 가져온 HTTP 포스트를 통해 또는 수신 유니 코드 문자열이 중복되지 결과로 UTF-8을 얻었습니다.
따라서 문자열은 유니 코드입니다.
하지만 PHP에서
$fd = fopen('myfile.php', "wb");
fwrite($fd, $msg."\n");
내가있다 "à¤Ÿà ¥ ‡ à¤¸à ¥ ट"대신의 볼 무엇 적절한 인코딩과 출력 파일에 문자열을 쓰기 어떻게 실제 문자열은 입니다.
메모장 + +에 'junk'를 붙여 넣은 다음 메뉴 옵션 'encoding UTF-8'에 붙여 넣으면 올바른 텍스트가 표시됩니다.
편집 * 솔루션 질문을 게시하고 응답 자신을 파악하기위한 *
죄송합니다.
나는 당신이mb_detect_encoding
의
strict
매개 변수를 지정해야 다음 사이트
http://www.codingforums.com/showthread.php?t=129270
function writeUTF8File($filename,$content) {
$f=fopen($filename,"w");
# Now UTF-8 - Add byte order mark
fwrite($f, pack("CCC",0xef,0xbb,0xbf));
fwrite($f,$content);
fclose($f);
}
출력은 PHP는 파일에서 해결책을 발견했다. PHP 파일의 헤더를 어떻게 지정합니까 ?? – Anand
죄송합니다. 오해했습니다. 자신이 게시 한 솔루션에 대해서 : 바이트 순서 표시 (BOM)로 PHP 파일을 시작하면이 BOM은 PHP 파일을 포함 할 때 출력됩니다.이로 인해 생성 된 PHP 파일을 사용하여 렌더링 된 페이지의 시작 부분 (또는 중간 부분)에 원하지 않는 BOM이 출력 될 수 있습니다. – GolezTrol