2012-06-12 2 views
0

필자는 노트 패드에서 검색 대체 작업을 수행하여 ++를 효과적으로 축소했습니다. 대부분 공백/탭 등을 제거했습니다.) 결국 많은 CSS가 삭제되었습니다.css (â € <)에 특수 문자가 추가 된 이유는 무엇입니까?

외관상으로 이상한 문자가 삽입되었습니다. BOM이없는 UTF-8의 notepad ++를 사용하면 볼 수 없지만 뷰 소스에 나타났습니다.

검색을 ANSI 인코딩으로 대체하여 제거 할 수 있었지만 제 질문은이 문자가 무엇이고 왜 등장했는지입니다.

+0

MS Word와 같은 응용 프로그램에서 코드를 붙여 넣었습니까? – ply

+0

확실히 아닙니다. –

답변

2

문자열 "â €"은 Windows-1252로 인코딩 된 데이터로 잘못 해석 될 경우 ZWSP의 UTF-8 인코딩 형식입니다. (이것을 사용하여 좋은 UTF-8 decoder을 확인했습니다.) 메모장에서 UTF-8 모드로 표시되지 않는 이유를 설명합니다. ZWSP (제로 너비 공간)는 너비가없는 보이지 않는 문자입니다.

분명히 브라우저는 스타일 시트를 windows-1252로 인코딩 한 것으로 해석합니다. BOM으로 저장하면 브라우저가 인코딩을 더 잘 추측 할 수 있기 때문에 도움이 될 수 있습니다. 진정한 해결책은 서버가 CSS 파일에 적합한 Content-Type 헤더를 보내도록 (서버 종속적 인 방식으로) 확인하는 것입니다.

그러나 이것이 CSS 파일에서 유일한 비 -Ascii 문자 인 경우 문제가되는 데이터를 제거한 후에는 실제로 문제가되지 않습니다.

메모장 + 삽입 ZWSP (시스템에 일반 문자 삽입 유틸리티를 사용할 수 있음)를 만들 수있는 간단한 방법을 모르겠다. 그래서 그것이 출현 한 수수께끼 일 것이다. 아마도 어딘가에서 복사하여 붙여 넣기를 통해.

+0

독자를위한 FYI : 몇 년 전, 필자는 외부 JS 파일에서 이것이 시작되는 것을 보았고 IE는 내 JS 실행을 거부했습니다. Adobe GoLive에서 부적절한 설정으로 인해 인코딩 문제가 있음을 발견했습니다. 올바르게 기억하면 GoLive가 FTP 업로드시 서버에 문자를 삽입했습니다. 이제 더 이상 WYSIWYG 편집자를 사용하지 않습니다. – Sparky

+0

Brilliant, 고마워!. 보너스 포인트는 내 CSS의 적절한 콘텐츠 유형을 보장하는'.htaccess' 스 니펫이있는 경우입니다. –

+1

.css 파일이 UTF-8로 인코딩 된 경우 (그리고 순전히 순수 ASCII 파일 인 경우) Zach L은 '.htaccess'에서 다음을 사용하십시오 : 'AddType text/css; charset = utf-8 css' –

0

Firefox에서 웹 개발자 플러그인 또는 ext를 사용하면 CSS 문서에서 문제 문자를 볼 수 있습니다. 모든 내가 볼 수있는 비주얼 스튜디오에서

했다 :

} 
â.t 

가 UTF 인코더 위의 링크 :

} 
.t 

웹 개발자는 "A"상단에 캐럿과 원치 않는 숨겨진 문자를 보여 주었다 밝혀이

} (the encoded character for ampersand) 
.t 

하지만 단순히 삭제 및 다시 입력하여 문제를 해결하십시오.

관련 문제