Lösung für verstümmeltes PHP-Wort: Öffnen Sie zuerst die Datei „/Writer/Word2007/Base.php“ und fügen Sie dann den Inhalt von „$objWriter->writeAttribute('w:eastAsia', $font)“ hinzu Änderungen.
Empfohlen: „PHP-Video-Tutorial“
PHPword löst verstümmelte chinesische Zeichen
1. Unterstützung für ostasiatische Schriftarten hinzufügen
Öffnen und bearbeiten Sie den Inhalt der Pfaddatei /Writer/Word2007/Base.php , wahrscheinlich in Zeile 349 (die Anzahl der Zeilen kann sich mit der Version ändern) wird wahrscheinlich in der Funktion _writeTextStyle hinzugefügt:
$objWriter->writeAttribute(‘w:eastAsia’, $font)
Mein geändertes Fragment sieht beispielsweise im Grunde wie folgt aus:
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. Lösen Sie das Problem der verstümmelten chinesischen Zeichen (Diese Lösung ist nützlich für die GBK-Codierung, nicht anwendbar auf UTF-8)
Bearbeiten Sie PHPWord/Template.php
Suchen Sie den Code $replace = utf8_encode($replace);, löschen Sie diese Codezeile oder kommentieren Sie sie aus, fügen Sie $ hinzu replace = iconv( 'gbk','utf -8′, $replace); beispielsweise wird der Code wie folgt geändert:
if(!is_array($replace)) { //$replace = utf8_encode($replace); $replace =iconv(‘gbk’, ‘utf-8′, $replace); // 注释掉上面行后添加这行 }
Die Aufrufmethode lautet wie folgt:
$document->setValue(‘Template’, iconv(‘utf-8′, ‘GB2312//IGNORE’, ‘中文’));
Der obige Code löst hauptsächlich das Problem von Vorlagen,
Das gleiche Prinzip unten löst das Problem des Hinzufügens von Text zu Abschnitt,
Finden Sie den Code $givenText = utf8_encode($text); in PHPWord/Section.php,
Löschen oder kommentieren Sie diese Codezeile aus, Fügen Sie beispielsweise $givenText = iconv('gbk', 'utf-8′, $text); hinzu. Der Code lautet wie folgt:
public function addText($text, $styleFont = null, $styleParagraph = null) { //$givenText = utf8_encode($text); $givenText = iconv(‘gbk’, ‘utf-8′, $text); // 注释掉上面行后添加这行 }
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem mit verstümmelten PHP-Worten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!