2016-10-02 7 views
0

é와 같은 특수 문자가 포함 된 테이블에서 데이터를 인쇄하려고합니다. htmlentities() 함수를 사용하여 문제를 해결했지만 문제를 해결하는 대신 데이터가 전혀 나타나지 않습니다. 예를 들어테이블의 데이터와 함께 사용할 때 htmlentities()가 작동하지 않습니다.

:

난이 인쇄되어있어 :

"라이트 룸 레 Phototographes 뒤 NUMERIQUE을 부어 3"그러나

, é과 같이 표시되는 문자를 . 따라서 fuction htmlentities()를 사용하면 논리적으로 문제를 해결해야합니다. 그러나 문자가 포함 된 문자열을 사용하는 동안 è 아무 것도 인쇄되지 않지만 빈 공간이 있습니다. 특수 문자가없는 문자열에 함수를 사용하면 문제가 없습니다.

"라이트 룸 레 Phototographes 뒤 민 부어 3 E rique"그대로

인쇄,

"라이트 룸 부어 3 레 Phototographes 뒤 민 é rique"동안

인쇄물은

""

내, 데이타베이스의 모든 테이블이 인코딩 UTF-8,뿐만 아니라 내 HTML 문서입니다. 당신이 htmlentities 문서를 읽을 때

+0

모든 곳에서 UTF-8을 사용하고 있다면 ** 악센트 부호가있는 문자를 표시하기 위해 HTML 엔티티 **가 필요하지 않습니다. UTF-8을 흐름의 어딘가에서 제대로 사용/선언하지 못할 가능성이 큽니다. –

답변

1

, 그것은 입력 문자열이 주어진 인코딩 빈 문자열 내에서 유효하지 않은 코드 단위 시퀀스를 포함

경우 ENT_IGNORE 또는 ENT_SUBSTITUTE 플래그 중 하나가 설정되지 않는 한 반환 될 것이라고 말했다.

문서에 제안 된대로 인코딩을 강제 할 수 있습니다 ("ISO-8859-1"또는 "ISO-8859-15")?

+0

내 경우 ISO-8859-1을 사용하면 잘 작동합니다. – Amine

+0

다행스럽게도 문제를 해결할 수 있지만 @ Álvaro González가 제안한 ** 'HTML 엔티티가 필요 없습니다 **', [UTF8 사용법] (http://stackoverflow.com/questions/)을 확인해야합니다. 279170/utf-8-all-the-way-through) 파일의 어느 부분에서 ** UTF8을 제대로 사용하지 못했는지 확인 ** ** – Ayak973

+0

'ISO-8859-1'을 사용하면 문제가 해결됩니다. 기본 정보 "내 databse와 모든 테이블은 UTF-8로 인코딩되며 내 html 문서는"false가됩니다. –