Wie gehen Sie mit den Sonderzeichen um, die MS Word hinzufügt?

7

Ich frage mich, wie Sie die Sonderzeichen wie MS Word, wie M-und N-Bindestriche und geschweifte Anführungszeichen säubern?

Ich finde oft, dass ich Inhalte von Clients aus Word kopiere und in eine statische HTML-Seite einfüge, aber der Inhalt endet mit komischen Zeichen, weil die Sonderzeichen nicht in ihre korrekten ACSII-Codes konvertiert werden und daher als verstümmelter Text angezeigt werden. (Für diese grundlegenden Websites verwende ich Dreamweaver.)

Ich habe viele ähnliche Probleme gesehen, wenn Clients Inhalt aus Word in reine Textfelder (meist Textareas) kopieren. Wenn ich dies in ein PDF (über PHP) lege oder es auf der Seite erscheint, hat es auch Text verstümmelt.

Wie gehst du damit um? Gibt es einen Reinigungsservice oder ein Programm, das Sie verwenden?

    
Darryl Hein 06.05.2009, 22:05
quelle

6 Antworten

8

In Bezug auf Clients, die kopierten / eingefügten Text aus Word in Textareas veröffentlichen:

Der sicherste Weg, um sicherzustellen, dass der Client Ihnen Text in einer bestimmten Kodierung sendet (also hoffentlich irgendeine Konvertierung von CP-1252 [oder was auch immer Word verwendet] für Sie), ist das Attribut accept-charset="..." zu all Ihren hinzuzufügen <form> s. Zum Beispiel:

%Vor%

Die meisten Browser befolgen das und stellen sicher, dass alle "Word-spezifischen" Zeichen in den entsprechenden Zeichensatz konvertiert werden, bevor sie auf Ihre Website gelangen.

Sobald ein ungültiger Text auf Ihre Website gelangt, können Sie ihn nicht mehr zuverlässig korrigieren. Es empfiehlt sich daher, alle Eingaben in jedem von Ihnen verwendeten Zeichensatz auf Gültigkeit zu überprüfen und alle Anfragen mit ungültigem Text zu verwerfen. Dies ist sogar mit accept-charset notwendig, da es zweifellos einige Clients gibt, die es ignorieren.

    
chazomaticus 08.05.2009 21:47
quelle
5

Sie können preg_replace function call verwenden, um alle Sonderzeichen von Wörtern oder anderen aus Ihrer Zeichenfolge zu entfernen

%Vor%     
Rutunj sheladiya 28.11.2014 11:13
quelle
4

Achten Sie darauf, überall eine Kodierung anzugeben und UTF-8 zu verwenden, dann sollten diese "speziellen" Zeichen gut erhalten bleiben. Aber sobald sie eine Kodierung durchlaufen haben, die sie nicht darstellen kann, ist die Information, welches Zeichen sie ursprünglich war, verloren, so dass sie nicht repariert werden kann (außer für einige spezifische, aber wahrscheinlich sehr häufige Fälle wie Umschalten zwischen Cp1252 und ISO- 8859-1).

    
Michael Borgwardt 06.05.2009 22:12
quelle
2

Du könntest den Demoroniser ausprobieren.

    
Adrien 06.05.2009 22:12
quelle
1

Stellen Sie sicher, dass Word für die Verwendung von UTF-8 für "Speichern unter ..." HTML konfiguriert ist.

Dies ist in Optionen & gt; Wortoptionen & gt; Erweitert & gt; Weboptionen & gt; Codierung

    
JasonPlutext 23.07.2016 07:42
quelle
0

Wenn es sich um eine Word-Datei handelt, die nur aus Text besteht (dh keine Grafiken, Tabellen usw.), können Sie versuchen, als HTML aus Word zu kopieren, den resultierenden HTML-Code in Dreamweaver in Ihr Dokument einzufügen und dann Dreamweaver zu verwenden. Word-HTML-Funktion bereinigen (im Menü Befehl).

Alternativ können Sie meinen HTML-Code korrigieren, obwohl ich es nicht persönlich mit Word-Text versucht habe, daher können die Ergebnisse variieren.

    
Scottie 07.05.2009 08:43
quelle

Tags und Links