2013-07-10 3 views
1

HTML에 텍스트를 삽입 할 수 있도록 HTML 태그를 이스케이프하는 기능이 있습니다. 매우 유사 : Can I escape html special chars in javascript?HTML 태그를 이스케이프 처리합니다. charset 인코딩으로 가능한 것은 무엇입니까?

나는 자바 스크립트가 내부적으로 유니 코드를 사용하는 것이 알고 있지만, HTML 페이지 등 UTF-8 또는 ISO8859-1, 같은 다른 캐릭터 세트로 인코딩 할 수가 ..

내 질문은 :있다 이 아주 간단한 변환과 관련된 문제가 있습니까? 또는 페이지 문자 세트를 고려해야합니까?

그렇다면 해당 문제를 해결할 방법이 있습니까?

추 신 : 예를 들어, PHP 함수 (http://php.net/manual/en/function.htmlspecialchars.php)에는 charset을 선택하는 매개 변수가 있습니다.

답변

1

아니요, JavaScript는 유니 코드 세계에 있으며 인코딩 문제는 일반적으로 보이지 않습니다. 연결된 질문에 escapeHtml이 괜찮습니다.

JavaScript가 바이트를 볼 수있는 곳은 내가 생각할 수있는 유일한 곳은 data: (일반적으로 base64 아래에 숨겨 짐)입니다. 이렇게 :

var markup = '<p>Hello, '+escapeHtml(user_supplied_data); 
var url = 'data:text/html;base64,'+btoa(markup); 
iframe.src = url; 

은 원칙적으로 나쁜 것입니다. 이 상황에서 UTF-7을 추측 할 브라우저는 모르지만 브라우저가 데이터에 적절한 인코딩을 사용하도록 charset=... 매개 변수를 제공해야합니다. (btoa은 ISO-8859-1을 사용하므로 가치가 있습니다.)

+0

답장을 보내 주셔서 감사합니다. –

관련 문제