writeAttribute('w:eastAsia', $font)"의 내용을 추가하고 마지막으로 변경 사항을 저장합니다."/> writeAttribute('w:eastAsia', $font)"의 내용을 추가하고 마지막으로 변경 사항을 저장합니다.">

 >  기사  >  백엔드 개발  >  PHP 단어 깨짐 문제를 해결하는 방법

PHP 단어 깨짐 문제를 해결하는 방법

藏色散人
藏色散人원래의
2020-10-22 09:42:572458검색

잘못된 PHP 단어에 대한 해결 방법: 먼저 "/Writer/Word2007/Base.php" 파일을 연 다음 "$objWriter->writeAttribute('w:eastAsia', $font)"의 내용을 추가하고 마지막으로 변경됩니다.

PHP 단어 깨짐 문제를 해결하는 방법

권장: "PHP 비디오 튜토리얼"

PHPword는 중국어 왜곡 문자를 해결합니다

1. 동아시아 글꼴 지원 추가

/Writer/Word2007/Base.php 파일 내용 경로를 열고 편집합니다 , 아마도 349번째 줄(버전에 따라 줄 수는 변경될 수 있음)이 _writeTextStyle 함수에 추가되었을 것입니다:

$objWriter->writeAttribute(‘w:eastAsia’, $font)

예를 들어 제가 수정한 부분은 기본적으로 다음과 같습니다:

Font  if($font != ‘Arial’) {
$objWriter->startElement(‘w:rFonts’);
$objWriter->writeAttribute(‘w:eastAsia’, $font);// 添加这行
$objWriter->writeAttribute(‘w:ascii’, $font);
$objWriter->writeAttribute(‘w:hAnsi’, $font);
$objWriter->writeAttribute(‘w:cs’, $font);
$objWriter->endElement();
}

2. 중국어 문자 깨짐 문제 해결 (이 솔루션은 GBK 인코딩에 유용하며 UTF-8에는 적용되지 않습니다.)

Edit PHPWord/Template.php

코드 $replace = utf8_encode($replace);를 찾고, 이 코드 줄을 삭제하거나 주석 처리하고, $를 추가하세요. replacement = iconv( 'gbk','utf -8′, $replace); 예를 들어 코드는 다음과 같이 변경됩니다.

if(!is_array($replace)) {
//$replace = utf8_encode($replace);     
 $replace =iconv(‘gbk’, ‘utf-8′, $replace);
// 注释掉上面行后添加这行
}

호출 방법은 다음과 같습니다.

$document->setValue(‘Template’, iconv(‘utf-8′, ‘GB2312//IGNORE’, ‘中文’));

위 코드는 주로 문제를 해결합니다.

아래의 동일한 원칙은 섹션에 텍스트를 추가하는 문제를 해결합니다.

PHPWord/Section.php에서 $givenText = utf8_encode($text); 코드를 찾고,

이 코드 줄을 삭제하거나 주석 처리합니다. $givenText = iconv('gbk', 'utf-8′, $text);를 추가하세요. 예를 들어 코드는 다음과 같습니다:

public function addText($text, $styleFont = null, $styleParagraph = null) {
//$givenText = utf8_encode($text);   
 $givenText = iconv(‘gbk’, ‘utf-8′, $text);
// 注释掉上面行后添加这行
}

위 내용은 PHP 단어 깨짐 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.