Typografische Anführungszeichen und Gedankenstriche brechen Code: so machst du sie gerade
Typografische Anführungszeichen, typografische Apostrophe, Gedankenstriche und geschützte Leerzeichen sehen wie ihre einfachen Varianten aus, aber ein Computer behandelt sie als andere Zeichen. Code, CSV-Dateien, Tabellenformeln und Befehlszeilen erwarten die einfachen. Ein eingefügtes Anführungszeichen hört auf, eine Zeichenkette zu sein, ein doppelter Bindestrich in einer Option wird zu einem Strich, und ein geschütztes Leerzeichen kann dazu führen, dass ein Programm eine Zeile nicht liest. Mach die Zeichen gerade, bevor du in Code einfügst, und prüfe das Ergebnis dort, wo es laufen soll.
Eingefügten Text reparierenEingefügter Text hat kaputte ZeilenKostenlos loslegenWoher die Zeichen kommen
Textverarbeitungen und viele E-Mail-Programme ersetzen gerade Anführungszeichen beim Tippen durch typografische. Das nennt man „intelligente Anführungszeichen“. Word kann außerdem zwei Bindestriche in einen Gedankenstrich umwandeln. Webseiten und manche Editoren fügen geschützte Leerzeichen ein, U+00A0, die zwei Wörter in einer Zeile halten. Diese Zeichen sind für die Typografie richtig, deshalb tauchen sie auf. Für alles, was ein Programm liest, sind sie falsch.
Was bricht, und wo
| Wo | Was schiefgeht |
|---|---|
| Quellcode | Typografische Anführungszeichen sind keine Zeichenkettenbegrenzer, und viele Sprachen weisen ein typografisches Anführungszeichen oder ein geschütztes Leerzeichen außerhalb einer Zeichenkette zurück |
| Shell-Befehle | Ein Strich, der als Gedankenstrich eingegeben wurde, ist kein Optionszeichen, daher sieht das Programm ein unbekanntes Argument |
| CSV-Dateien | Parser setzen Felder in gerade doppelte Anführungszeichen, daher schützen typografische Anführungszeichen ein Komma im Feld nicht |
| Tabellenformeln | Die typografischen Anführungszeichen werden Teil des Textes, oder die Formel meldet einen Fehler |
| JSON | Typografische Anführungszeichen sind keine gültigen Zeichenkettenbegrenzer, daher scheitert der Parser |
Die Quoting-Regeln, denen CSV-Dateien folgen, erklärt der Leitfaden zu CSV in JSON.
So machst du sie gerade in fixmint
Drei Werkzeuge decken die üblichen Fälle ab, und jedes behandelt eine andere Gruppe von Zeichen.
- Typografische Anführungszeichen. Öffne Eingefügten Text bereinigen und setze das Häkchen bei Anführungszeichen gerade machen. Es ersetzt typografische einfache Anführungszeichen und Apostrophe durch ein gerades einfaches Anführungszeichen und typografische doppelte Anführungszeichen durch gerade doppelte. Gedankenstriche lässt es unverändert. Die anderen Optionen, etwa das Kürzen von Zeilen und das Zusammenfassen mehrfacher Leerzeichen, sind standardmäßig aktiviert.
- Gedankenstriche, Auslassungspunkte und seltsame Leerzeichen. Öffne Unsichtbare Zeichen entfernen und setze das Häkchen bei Auch typografische Anführungszeichen, Gedanken-/Halbgeviertstriche und … in einfaches ASCII umwandeln. Gedankenstriche werden zu einem Bindestrich, und die Auslassungspunkte werden zu drei Punkten. Geschützte Leerzeichen werden standardmäßig zu normalen Leerzeichen. Die markierte Ansicht zeigt, wo jede Änderung vorgenommen wurde.
- Ein Zeichen oder eine Wortgruppe. Öffne Text suchen und ersetzen, lass Regex ausgeschaltet und gib das Zeichen bei Suchen ein, bei Ersetzen seine einfache Variante. Ohne Regex wird das Suchfeld wörtlich verstanden, daher trifft ein typografisches Anführungszeichen nur sich selbst.
Hier ist das zweite Werkzeug auf einen typischen Einfügetext angewendet:
| Vorher | Nachher |
|---|---|
| “Hello,” she said. | "Hello," she said. |
| It’s done. | It's done. |
| —verbose | -verbose |
Die letzte Zeile zeigt eine Grenze. Jeder Gedankenstrich wird zu einem Bindestrich, daher kommt ein doppelter Bindestrich, den eine Textverarbeitung zu einem Gedankenstrich zusammengefasst hat, als einzelner Bindestrich zurück. Korrigiere Optionen wie --verbose nach der Umwandlung von Hand.
Füge das Ergebnis dort ein, wo es laufen soll, und prüfe es dort. Das Gerademachen ändert die Bedeutung des Textes nicht, daher ist ein erfolgreicher Lauf die eigentliche Prüfung.
Ergebnis prüfen
Lass den geraden Text noch einmal durch Unsichtbare Zeichen entfernen laufen und lies die markierte Ansicht. Jede verbliebene Markierung ist ein Zeichen, das der erste Durchgang nicht erfasst hat, etwa ein Leerzeichen mit null Breite oder ein ungewöhnliches Leerzeichen. Die markierte Ansicht zeigt, wo jedes davon sitzt, sodass du es direkt korrigieren kannst.
Die Zeichen sehen auf dem Bildschirm fast gleich aus, daher übersiehst du sie beim Draufschauen leicht. Ein gerades und ein typografisches Anführungszeichen unterscheiden sich in der Form nur wenig, und ein Halbgeviertstrich sieht in vielen Schriften aus wie ein Bindestrich. Prüfe den Text, nicht deine Augen.
Wann du sie nicht gerade machen solltest
Behalte typografische Anführungszeichen und Gedankenstriche in Texten, die Menschen gedruckt oder auf einer Webseite lesen. Dort sind sie die richtige Typografie. Mach nur die Texte gerade, die in Code, eine CSV-Datei, eine Formel oder einen Befehl wandern. Für Text, den du in einer Textverarbeitung schreibst, schalte die Option für intelligente Anführungszeichen aus, wenn du den Text später in Code einfügen willst.
Sonderfälle
- Gemischte Anführungszeichen. Ein Dokument kann typografische und gerade Anführungszeichen mischen. Führe den Schritt zum Gerademachen einmal aus und durchsuche das Ergebnis danach, ob noch welche übrig sind, weil Quellen unterschiedlich arbeiten.
- Apostrophe in Wörtern. Ein typografischer Apostroph in einer Zusammenziehung wird zu einem geraden, was die meisten Codes erwarten. Prüfe Zusammenziehungen, die innerhalb einer Zeichenkette vorkommen.
- Behalte die Quelle. Das Gerademachen lässt sich nicht umkehren: Ein gerades Anführungszeichen verrät nicht, welches typografische es einmal war. Bewahre das Originaldokument auf und nimm die Änderung an einer Kopie vor.
- Gedankenstriche in Sätzen. Ein Gedankenstrich als Satzeinschub wird zu einem Bindestrich, aus „wait — stop“ wird also „wait - stop“. Tippe ihn von Hand neu ein, wenn der Text zum Lesen und nicht für Code gedacht ist.
- Unsichtbare Zeichen. Eingefügter Text kann auch Leerzeichen mit null Breite enthalten. Sie sind keine Anführungszeichen, brechen Code aber auf ähnliche Weise. Der Leitfaden zu unsichtbaren Zeichen im Text behandelt sie.
Mit KI-Unterstützung aus dem Englisches Original übersetzt.
Kommentare
Noch keine Kommentare. Schreib den ersten.


