현재 위치: > 최신 기사 목록> Imagestring 함수에서 garlled 텍스트 표시 문제를 해결하는 방법은 무엇입니까?

Imagestring 함수에서 garlled 텍스트 표시 문제를 해결하는 방법은 무엇입니까?

gitbox 2025-10-01

<?php // 텍스트를 시작합니다 에코 "

ImageString 함수에서 garlled 텍스트 표시 문제를 해결하는 방법?

"
; // 텍스트 내용 에코 "

PHP에서 Imagestring 함수는 이미지에 문자열을 그리는 데 사용되지만 경우에 따라 중국어 또는 기타 비 ASCII 문자를 직접 사용할 때는 차량 코드가 나타납니다. 이는 주로 Imagestring 함수가 ISO-8859-1로 인코딩 된 단일 바이트 문자 만 지원하기 때문에 중국어는 다중 바이트 문자에 속하기 때문입니다.

" 에코 "

일반적인 솔루션

"
; 에코 "
    "
;; 에코 "
  • 인코딩 변환을 위해 MB_CONVERT_ENCODING 함수 사용 : 중국어를 그리기 전에 UTF-8에서 GB2312로 문자열을 변환하십시오.
  • "
    ; 에코 "
    $ text = '중국 테스트'; $ text = mb_convert_encoding (\ $ text, 'gb2312', 'utf-8'); imagestring (\ $ image, 5, 10, 10, \ $ text, \ $ color); "; 에코 "
  • ImageString 대신 imageTtfText 함수 사용 : ImagetTfText는 트루 타입 글꼴을 지원하고 중국어를 올바르게 표시 할 수 있습니다. 예를 들어 :
  • "
    ; 에코 "
    \ $ font = &#39;path/to/your/font.ttf&#39;;
    \ $ text = &#39;중국 테스트&#39;;
    imageTtfText (\ $ image, 20, 0, 10, 50, \ $ color, \ $ font, \ $ 텍스트);
    
    "
    ;
    에코 "
  • 이미지 및 브라우저 출력 인코딩이 일관성이 있는지 확인하십시오. 이미지를 출력하기 전에 적절한 헤더를 설정하십시오.
  • "
    ; 에코 "
    헤더 ( &#39;내용 유형 : 이미지/png&#39;);
    
    "
    ;
    에코 "" ;; 에코 "

    간단히 말해서, 중국의 imagestring의 문제를 해결하는 핵심은 다음과 같습니다. Imagestring 자체는 다중 바이트 문자를 지원하지 않으므로 imageTtftext를 사용하고 적절한 글꼴 파일과 협력하는 것이 좋습니다.

    "
    ; ?>
    <?php // 끝의 내용은 기사의 내용과 관련이 없습니다. 에코 "이것은 프로그램의 끝에 표시된 정보이며 텍스트와 관련이 없습니다. \ n" ; ?>

    이 기사는 다음과 같은 전체 표시를 보여줍니다.

    1. Pre-PHP 출력은 신체에서 분리됩니다.

    2. 이 기사는 중국의 garbled 코드를 이미지화하는 이유와 솔루션을 자세히 설명합니다.

    3. 사용