2010-01-27 4 views
5

htmlentities()의 기본 인코딩을 정의 할 방법이 있는지 궁금합니다. 큰 프로젝트를 사용하여 htmlentities 호출을 사용하고 간단한 문자열을 init_set과 같이 간단한 인코딩을 사용하여 기본 문자 인코딩으로 ISO-8859-1에서 UTF-8로 설정하는 간단한 방법이 있는지 궁금합니다. 또는 별도의 namespace 선언을 사용하십시오.htmlentities()에 대한 기본 문자 집합 정의

나는 항상 htmlentities 함수를 유니 코드로 바꾸고 바꾸는 것에 반대하지 않을 것이지만, PECL apd과 같은 이상한 것으로 설치하는 것을 꺼려합니다.

+1

htmlspecialchars를 사용하지 않는 이유는 무엇입니까? htmlentities는 HTML을 위해 필요한 것보다 훨씬 더 많은 것을 변환합니다. htmlspecialchars와 UTF-8을 사용하지 않는 이유는 변환하는 문자가 멀티 바이트 UTF-8 문자 중간에 나타나기 때문입니다. 엄밀히 말하자면 ISO-8859-1을 가정하면 상관 없습니다. –

답변

8

매뉴얼 페이지가 기본 charset을 변경하는 것에 대해 아무런 언급도하지 않았으므로 그렇게 할 방법이 없다고 생각합니다. 나는 그것에 대해 아무것도 본 적이 없다는 것을 기억합니다.

  • 올바른 매개 변수 바이
  • 와 htmlentities()에서 호출 할 때마다 교체로를 htmlentities를 호출 내 자신의 함수를 작성합니다 -이

    내가 APD처럼 아무것도 사용하지 것 중 하나 대신에, 나는 아마 것 (이것은 아마도 스크립트의 몇 줄을 사용하여 자동으로 수행 할 수있다) 나의 새로운 기능 에 전화

0
@Pascal MARTIN의 솔루션은 확실히 올바른

, 당신은 또한 utf8-encodet을 사용할 수 있습니다 o ISO-8859-1을 UTF-8로 변환합니다.

그리고 utf8_decode은 UTF-8을 ISO-8859-1로 변환합니다.

+0

문제는 문자열이 들어있는 charset이 아니라 htmlentities가 문자열을 처리하는 방법입니다. – amphetamachine