2013-08-24 1 views
3

PHP 또는 HTML 문서 AnsiBOM이없는 UTF-8로 변환 한 다음 웹 서버에 업로드 하시겠습니까? 두 문서 모두에 메타 UTF-8이 있습니다. 누군가가 단순히 메모장 쓰는 경우 메모장 Byde 주문 마크없이 UTF-8을 제공하지 않기 때문에ANSI와 UTF-8의 html 인코딩 BOM이없는 경우

, 그들은, 안시를 선택해야

답변

3

차이점은 일부 8 비트에서 파일을 작성하는 경우 코드 페이지로 변환 한 다음 UTF-8로 변환하는 것을 잊어 버리면 사람들이 웹 페이지가 손상된 것을 볼 수 있습니다. charset을 메타에서 UTF-8로 설정했기 때문입니다. SFTP 또는 WinSCP를 사용하여 파일을 액세스 할 수 없습니다. 다시 8 비트 코드 페이지로 변환해야하기 때문입니다.

또한 UTF-8은 유니 코드이며 ANSI 코드 페이지에서 전체 문자 범위가 지원됩니다. 모든 유니 코드 문서가 ANSI 코드 페이지로 다시 변환 될 수있는 것은 아니므로 이러한 방식으로 편집 할 수는 없습니다.

정성을 다하는 사람은 기능이 부족하고 구문 색상이 지정되어 있고 줄 끝 형식이 없으며 문자 집합에 대한 지독한 지원 때문에 Windows 메모장을 심각한 코딩에 사용하지 않습니다.

3

다른 점은 UTF-8과 "ANSI"(다양한 8 비트 인코딩의 Microsoft 잘못된 이름)는 ASCII 코드 범위 인 0x00에서 0x7F까지 일치하지만 완전히 다른 인코딩입니다.

"ANSI"파일을 UTF-8로 인코딩 한 것으로 잘못 지정했습니다. 데이터에 실제로 ASCII 문자 만 포함되어 있거나 대부분의 경우 올바른 인코딩을 지정하는 HTTP 헤더를 사용하여 파일을 보내는 경우 오류는 관찰 가능한 효과를 발생시키지 않습니다.

UTF-8로 인코딩 된 HTML 파일에 BOM을 사용하지 않아도됩니다. 그렇지 않은 주장을하는 페이지는 몇 년 전에 실용적인 모든 영향을 상실한 브라우저에 대한 정보 나 혼란스러운 HTML과 PHP에 대한 정보를 기반으로합니다. PHP 파일에서 BOM은 문제를 일으킬 수 있습니다. PHP 소프트웨어가 BOM을 올바르게 처리하지 못하기 때문입니다. 즉, 파일 내용을 다른 파일에 삽입 할 때 BOM을 제거하지 않기 때문입니다.

메모장은 실제로 파일을 BOM없이 UTF-8로 저장할 수 없습니다. 따라서 PHP 파일을 만들거나 편집 할 때는 Notepad++과 같은 다른 프로그램을 사용하십시오. 메모장을 사용해야하는 경우 "ANSI"를 사용합니다 (Windows-1252 또는 다른 것일 수있는 환경을 파악한 후 HTTP 헤더에 선언하고 meta). 태그를 사용하고 character references을 사용하여 "ANSI"로 표현할 수없는 문자를 나타냅니다.