2011-12-20 1 views
2

궁금한 점은 무엇이 가장 좋은 방법인지 궁금합니다. 모든 utf-8 특수 문자를 HTML 항목으로 변환하거나 &, < 및> 문자 만 이스케이프 처리합니다.특수 문자를 HTML 엔터티로 변환하는 이유 또는 왜 그렇지 않은 이유가 무엇입니까?

저는 여러 PHP 프로젝트를 진행하고 있습니다. 그리고 Google은 내 웹 사이트의 무작위 부분에 대해 잘못된 utf-8 결과를 표시하고 있습니다.

나는이 때문에 하나 또는 두 개의 다음과 같은 이유로 모두의 생각 :

  • 자동으로 인코딩 헤더를 보내지 않았 내 호스팅 제공 업체 (나는 이미 고정).
  • 또는 설명에서 텍스트가 완전히 이스케이프되지 않았 음을 의미합니다.

그 외에도 대부분의 시장 회사 웹 사이트는 '<?xml version' 행을 전송하지 않으며 문자를 벗어나지 못합니다.

모든 문자를 이스케이프 처리하기위한 단점 (또는 위로)이 최소한으로 필요한 것입니까?

답변

2

모든 문자를 이스케이프 처리하기위한 단점 (또는 위로)이 최소한으로 필요한가요? (htmlspecialchars()에 의해 수행으로) <>&"' 넘어 모든 문자를 변환

요즘 필요가 없습니다. 페이지의 문자 집합이 올바르게 구성된 경우 기본 UTF-8 문자 (또는 선택한 문자 집합)를 사용하는 데 아무런 문제가 없습니다. 엔티티로 변환하면 이점이 없습니다. 문자 집합 문제에 대한 잘못된 해결 방법으로 사용되기도하지만 이는 결코 좋은 생각이 아닙니다.

+0

당신은 htmlentities를 말하지 만, htmlspecialchars에 링크하면됩니다. 그러나 나는 당신의 요점을 이해합니다. 그리고 '

+0

@Paul 고정, 감사합니다! XML 헤더를 다시 보니, 내가 의미하는 바를 이해할 수 있을지 모르겠다. –

+0

html 문서의 첫 번째 줄인 w3은 ' '을 사용하지만 시장 사이트에서는이 줄을 사용하지 않습니다. –

관련 문제