Heim > Backend-Entwicklung > PHP-Problem > So lösen Sie das Problem mit verstümmelten PHP-Worten

So lösen Sie das Problem mit verstümmelten PHP-Worten

藏色散人
Freigeben: 2023-03-06 19:12:01
Original
2482 Leute haben es durchsucht

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.

So lösen Sie das Problem mit verstümmelten PHP-Worten

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)
Nach dem Login kopieren

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();
}
Nach dem Login kopieren

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);
// 注释掉上面行后添加这行
}
Nach dem Login kopieren

Die Aufrufmethode lautet wie folgt:

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

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);
// 注释掉上面行后添加这行
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage