Problemhintergrund:Wenn Sie Docker zum Bereitstellen des Projekts verwenden, wird beim Aufrufen der Drucksteuerung im Projekt standardmäßig die Systemschriftart verwendet. Die Bereitstellung unter Windows ist problemlos. Beim Ausführen in einem Docker-Container meldet das System jedoch einen Fehler und kann die entsprechende Schriftart nicht finden, da in Docker keine verwandten Schriftarten wie Songti vorhanden sind. Lösung:Tatsächlich kann es, genau wie es das Problem löst, dass Linux selbst keine Song-Schriftart hat, auch verwendet werden, um das Containerproblem zu lösen. Ich habe festgestellt, dass viele Probleme mit Docker-Containern tatsächlich gelöst werden können, indem man der Linux-Lösung folgt. Grundsätzlich müssen Sie nur die Songti-TTF- und TTC-Dateien herunterladen, sie dann in das Container-Schriftartenverzeichnis einfügen und den Container neu starten. Lösung:1. Überprüfen Sie die vom Container unterstützten Schriftarten. fc-list :lang=zh Wenn Sie die folgende Situation sehen, bedeutet dies, dass die Schriftartenverwaltung nicht installiert ist und Schriftarten installiert werden müssen 2. Installieren Sie die Schriftartenbibliothek. yum -y installiere Fontconfig Nach Abschluss der Installation können Sie die Ordner „fontconfig“ und „fonts“ im Verzeichnis „/usr/share“ sehen, wie in der Abbildung dargestellt: 3. Kopieren Sie die heruntergeladenen Schriftart-TTC- und TTF-Dateien in die Datei /usr/share/fonts des Containers. cp simsun.ttc Container:/usr/share/fonts cp simsun.ttf Container:/usr/share/fonts 4. Starten Sie anschließend den Container neu und Sie können die installierten chinesischen Schriftarten sehen. 5. Sie können diesen Schritt auch in das Dockerfile schreiben und beim Erstellen des Images automatisch implementieren. Ergänzung: Docker | Chinesische Schriftarten installieren und UTF-8-Kodierung im Docker-Container ändern (Problem mit verstümmelten chinesischen Schriftzeichen lösen) 1. ProjekthintergrundDas Entwicklungsteam berichtete, dass während des Projektbetriebs beim Konvertieren in PDF mit Pagoffice und Word verstümmelte Zeichen auftraten. Dieses Problem wurde behoben und dieser Eintrag wurde zur Überprüfung erstellt. 2. ProblemanalyseBei der Konvertierung in PDF mit Pagoffice und Word treten zwei Probleme mit verstümmelten Zeichen auf. Die entsprechende Beziehung ist: pagoffice ---- UTF-8-Kodierung wird nicht verwendet, und in einigen Docker-Containern wird standardmäßig POSIX verwendet. word2pdf ---- Chinesische Schriftarten sind in Linux nicht installiert und fehlen. Einige chinesische Schriftarten sind standardmäßig in Linux- und Docker-Containern installiert, oder es gibt keine chinesischen Schriftarten. Zusammenfassend lässt sich sagen, dass Sie zur vollständigen Lösung des Container-Verstümmelungsproblems folgende Schritte durchführen müssen: 1. Verwenden Sie UTF-8 zur Unterstützung von Chinesisch. 2. Installieren Sie chinesische Schriftarten. 3. Lösung3.1. Verwenden Sie UTF-8-Kodierung, um Chinesisch zu unterstützen3.1.1 Verwenden der C.UTF-8-Kodierung Die Verwendung der C.UTF-8-Kodierung kann Chinesisch unterstützen. Das Docker-Image auf der offiziellen Website unterstützt und verwendet standardmäßig die C.UTF-8-Kodierung. Gebietsschema -a #Alle Sprachumgebungen des Containers anzeigen Gebietsschema #Zeigen Sie die vom Container verwendete Sprachumgebung an Wenn das von Ihnen verwendete Bild nicht in C.UTF-8 codiert ist, können Sie es in dieses Codierungsformat ändern, indem Sie beim Ausführen des Containers die folgenden Parameter hinzufügen: -e export LANG="C.UTF-8" 3.1.2 Andere Lösungen Sie können beim Starten von Docker auch Parameter hinzufügen. -e export LANG="zh_CN.UTF-8" Ich habe jedoch das Image von der offiziellen Docker-Website verwendet. Nach Verwendung der Parameter war es zwar auf die Verwendung von "zh_CN.UTF-8" eingestellt, wurde jedoch nicht installiert. Es wird ein Fehler auftreten: Gebietsschema # Den eingestellten Zeichensatz anzeigen Gebietsschema: LC_CTYPE kann nicht auf Standardgebietsschema eingestellt werden: Keine solche Datei oder kein solches Verzeichnis Gebietsschema: LC_MESSAGES kann nicht auf Standardgebietsschema eingestellt werden: Keine solche Datei oder kein solches Verzeichnis Gebietsschema: LC_ALL kann nicht auf Standardgebietsschema eingestellt werden: Keine solche Datei oder kein solches Verzeichnis LANG=zh_CN.UTF-8 LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL= Gebietsschema -a # Installierte Zeichensätze anzeigen Gebietsschema: LC_CTYPE kann nicht auf Standardgebietsschema eingestellt werden: Keine solche Datei oder kein solches Verzeichnis Gebietsschema: LC_MESSAGES kann nicht auf Standardgebietsschema eingestellt werden: Keine solche Datei oder kein solches Verzeichnis Gebietsschema: LC_COLLATE kann nicht auf Standardgebietsschema eingestellt werden: Keine solche Datei oder kein solches Verzeichnis C POSIX de_DE.utf8 3.2. Chinesische Schriftarten installieren und Chinesisch anzeigen3.2.1 Vorhandene Schriftarten anzeigen Alle aktuellen Schriftarten in Linux anzeigen FC-Liste Alle aktuellen chinesischen Schriftarten in Linux anzeigen fc-list :lang=zh 3.2.2 Andere Schriftarten abrufen In Windows-Systemen befinden sich Schriftarten unter C:\Windows\Fonts. Laden Sie es nach dem Kopieren auf den Linux-Server /opt/software/chinese hoch (ich möchte die Schriftart im Docker-Container installieren. Wenn Sie die Schriftart auf dem Linux-Host installieren möchten, legen Sie sie direkt in den Ordner /usr/share/fonts/ des Servers). 3.2.2 Schriftarten in Containern installieren Docker ps -a #Container anzeigen docker cp /opt/software/chinese tomcat:/usr/share/fonts/ #tomcat ist der Containername docker exec -it tomcat /bin/bash #Betreten Sie den Container chmod 644 -R chinesisch/ Berechtigungsordner fc-list :lang=zh #Chinesische Schriftarten anzeigen fc-cache -fv # Aktualisieren Sie den Cache 3.3. Überprüfungpagoffice ---- Nach dem Ändern des Docker-Containers müssen Sie den Container neu starten word2pdf ---- Aktualisieren Sie den Schriftarten-Cache, kein Neustart des Containers erforderlich Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur. Das könnte Sie auch interessieren:
|
<<: CSS zum Erzielen von leuchtendem Text und ein paar JS-Spezialeffekten
>>: WEB Standard-Webseitenstruktur
MySQL 8.0.3 steht kurz vor der Veröffentlichung. ...
Dieser Blog ist eine Arbeitsnotiz Umfeld: Nginx-V...
CSS3 erreicht coole 3D-Rotationsperspektive 3D-An...
Inhaltsverzeichnis Vorwort 1. Was ist 2. So verwe...
Logo-Optimierung: 1. Das Logobild sollte so klein...
Inhaltsverzeichnis Vorwort Umsetzungsideen Implem...
Nach der Installation des neuesten Windows 10-Upd...
1. Tabellenanweisung erstellen: CREATE TABLE `Mit...
In diesem Artikel finden Sie den spezifischen Cod...
Die Hauptkonfigurationsdatei von Nginx ist nginx....
<tr> <th width="12%">AAAAA&l...
Frage Nachdem das Unternehmen den Server migriert...
Hintergrund: Tablespace: Alle INNODB-Daten werden...
In diesem Artikelbeispiel wird der spezifische Co...
1. Installation Suchen Sie über DockerHub nach de...