2012-06-15 4 views
0

나는 imagettftext를 사용하여 PHP로 텍스트를 생성하고 있습니다. 텍스트는 mysql 데이터베이스에서 가져온다. 일부 문자는 글꼴의 문자지도에 있지만 데이터베이스에 나타나는 것과 달리 렌더링 된 텍스트에 나타나지 않습니다. 예 : m 대시 (-) 및 스마트 쿼트/아포스트로피 ("").PHP GD 텍스트 및 특수 문자/인코딩?

문자가 나타나지 않거나 물음표로 바뀝니다.

나는 이것이 인코딩과 관련 있다고 생각하지만, 어디서부터 시작해야 할지를 알기에는 인코딩에 대해 충분히 알지 못합니다. 어떤 도움을 많이 주시면 감사하겠습니다.

+0

'imagegettfbbox' 텍스트를 렌더링하지 않습니다. – ddlshack

+0

죄송합니다. 나는 imagettftext를 의미하고 게시물을 고쳤습니다. – Alex

답변

0

함수에 전달하기 전에 텍스트에 htmlentityencode을 사용해보십시오.

UTF-8 인코딩의 텍스트 문자열입니다.

127보다 큰 글꼴의 문자에 액세스 할 때 십진수 문자 참조 (형태 : €)를 포함 할 수 있습니다. ©과 같은 16 진수 형식이 지원됩니다. UTF-8 인코딩의 문자열은 직접 전달 될 수 있습니다.

©과 같은 명명 된 엔터티는 지원되지 않습니다. html_entity_decode()를 사용하여 이러한 명명 된 엔티티를 UTF-8 문자열로 디코딩하십시오. html_entity_decode()는 PHP 5.0.0부터 지원합니다.

글꼴에서 지원하지 않는 문자열에 문자를 사용하면 빈 사각형이 문자를 대체합니다.

출처 : http://www.php.net/manual/en/function.imagettftext.php