Frage

Ich habe eine Codierungsfrage und möchte um Hilfe bitten. Ich bemerke, wenn ich "UTF-8" als Codierung wähle, gibt es (zumindest) zwei Doppelzitate " und . Aber wenn ich "ISO-8859-1" als Codierung wähle, sehe ich, dass das letztere doppelte Zitat wird ¡°, oder manchmal zum Beispiel “.

Könnte jemand bitte erklären, warum dies der Fall ist? Wie kann man übereinstimmen und ersetzen Sie es durch " Verwenden Sie Regexp in Perl?

Danke vielmals.

War es hilfreich?

Lösung

ISO-8859-1 ist eine Ein-Byte-pro-Charakter-Codierung. Die ausgefallenen Unicode-Doppelquoten befinden sich nicht im ISO-8859-1-Charakter-Set. Was Sie also sehen, ist ein Multi-Byte-Charakter, das als Abfolge von ISO-8859-1 Bytes dargestellt wird.

Um diese seltsamen Dinge zu entsprechen, sehen Sie das Perlunicode Mann Seite, insbesondere die x {...} und n {...} Escape -Sequenzen.

Um Ihre Frage zu beantworten, versuchen Sie es mit x {201c} mit der linken Doppelzitat -Marke von Unicode und x {201d} mit der rechten Doppelzitat -Marke überein. Sie haben letztere in Ihrer Frage verpasst :-).

aktualisieren

Ich hätte meine Referenz geben sollen ... ein netter Herr in Großbritannien hat eine Seite auf ASCII- und Unicode -Anführungszeichen. Die einfache Vanille-ASCII/ISO-8859-1 Doppelquote wird nur als Zitatmark bezeichnet.

Andere Tipps

Vielleicht das Old post wird helfen ..

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top