Göndör idézőjelek és gondolatjelek törnek a kódot: így egyenesítheted ki őket
A göndör idézőjelek, a göndör aposztrófok, az en- és em-kötőjelek, valamint a nem törő szóközök ugyanúgy néznek ki, mint a sima változatuk, de a számítógép különböző karakterként kezeli őket. A kód, a CSV-fájlok, a táblázatkezelő képletei és a parancssorok a sima változatokat várják. Egy beillesztett idézőjel nem lesz többé szövegkonstans, a jelzőben lévő dupla kötőjelből gondolatjel lesz, a nem törő szóköz pedig megakadályozhatja, hogy a program beolvasson egy sort. Mielőtt kódba illesztenéd a szöveget, egyenesítsd ki a karaktereket, majd teszteld az eredményt ott, ahol futni fog.
Beillesztett szöveg javításaA beillesztett szövegben törött sorok vannakPróbáld ki ingyenHonnan kerülnek be ezek a karakterek?
A szövegszerkesztők és sok e-mail-program gépelés közben az egyenes idézőjeleket göndörre cseréli. Ezt hívják okos idézőjelnek. A Word két kötőjelből is képes gondolatjelet csinálni. A weboldalak és egyes szerkesztők nem törő szóközöket, U+00A0 kódú karaktereket szúrnak be, amelyek két szót egy sorban tartanak. Ezek a karakterek tipográfiailag helyesek, ezért jelennek meg. Bármihez, amit program olvas, rosszak.
Mi romlik el, és hol?
| Hol | Mi romlik el |
|---|---|
| Forráskód | A göndör idézőjelek nem szöveghatárolók, és sok nyelv elutasít göndör idézőjelet vagy nem törő szóközt string-en kívül |
| Shell-parancsok | A gondolatjelként gépelt en-kötőjel nem kapcsolójel, így a program ismeretlen argumentumot lát |
| CSV-fájlok | Az elemzők egyenes dupla idézőjelekbe zárják a mezőket, így a göndör idézőjelek nem védik a mezőn belüli vesszőt |
| Táblázatkezelő-képletek | A göndör idézőjelek a szöveg részévé válnak, vagy a képlet hibát jelez |
| JSON | A göndör idézőjelek nem érvényes szövegnyitók és -zárók, ezért az elemző hibázik |
A CSV-fájlok idézési szabályaihoz lásd a CSV-ből JSON-ba és vissza útmutatót.
Egyenesítsd ki a fixmintben
Három eszköz fedi le a leggyakoribb eseteket, és mindegyik más karakterkészletet kezel.
- Göndör idézőjelek. Nyisd meg a beillesztett szöveg javítása eszközt, és pipáld be az „Idézőjelek egyenesítése” opciót. Ez a göndör egyszeres idézőjeleket és aposztrófokat egyenes egyszeres idézőjellé, a göndör dupla idézőjeleket pedig egyenes dupla idézőjellé alakítja. A kötőjeleket érintetlenül hagyja. A többi opció, például a sorok szegélyezésének levétele és az ismétlődő szóközök összevonása, alapértelmezetten be van pipálva.
- Kötőjelek, három pont és furcsa szóközök. Nyisd meg a rejtett karakterek eltávolítása eszközt, és pipáld be a „Göndör idézőjelek, en/em kötőjelek és … átalakítása sima ASCII-ra” opciót. A kötőjelek egyszerű kötőjellé, a három pont pedig három ponttá válik. A nem törő szóközök alapértelmezetten sima szóközökké alakulnak. A megjelölt nézet mutatja, hol történt minden változtatás.
- Egy karakter vagy kifejezés. Nyisd meg a keresés és csere eszközt, hagyd kikapcsolva a Reguláris kifejezést, és a Keresés mezőbe írd be a karaktert, a Csere mezőbe pedig a sima változatát. Reguláris kifejezés nélkül a Keresés mező szó szerint értelmezi a szöveget, így a göndör idézőjel csak önmagára illeszkedik.
Íme a második eszköz alkalmazása egy tipikus beillesztésen:
| Előtte | Utána |
|---|---|
| „Helló”, mondta. | "Helló", mondta. |
| Kész van. | Kész van. |
| —részletes | -részletes |
Az utolsó sor egy korlátot mutat. Minden kötőjel egy egyszerű kötőjellé alakul, így az a dupla kötőjel, amelyet a szövegszerkesztő egyetlen gondolatjellé vont össze, egyetlen kötőjelként tér vissza. Az olyan jelzőket, mint a --verbose, az átalakítás után kézzel javítsd ki.
Illeszd be az eredményt oda, ahol futni fog, és teszteld ott. Az egyenesítés nem változtatja meg a szöveg jelentését, ezért a sikeres futás a valódi ellenőrzés.
Ellenőrizd az eredményt
Futtasd az egyenesített szöveget még egyszer a rejtett karakterek eltávolítása eszközön, és olvasd el a megjelölt nézetet. Minden fennmaradó jelölés olyan karakter, amelyet az első kör nem fedett le, például nulla szélességű szóköz vagy szokatlan szóköz. A megjelölt nézet mutatja, hol van mindegyik, így helyben javíthatod.
A karakterek a képernyőn szinte azonosak, ezért a szemmel végzett ellenőrzés kihagyja őket. Az egyenes és a göndör idézőjel alakja csak kissé tér el, sok betűkészletben pedig az en-kötőjel egyszerű kötőjelnek látszik. Ne a szemedre hagyatkozz, hanem teszteld a szöveget.
Mikor ne egyenesítsd ki?
A göndör idézőjeleket és kötőjeleket tartsd meg ott, ahol a szöveget nyomtatásban vagy weboldalon olvassák. Ott ez a helyes tipográfia. Csak azt a szöveget egyenesítsd ki, amely kódba, CSV-be, képletbe vagy parancsba kerül. Ha szövegszerkesztőben írsz, és később kódba illeszted, kapcsold ki az okos idézőjel opciót.
Szélsőséges esetek
- Vegyes idézőjelek. Egy dokumentumban keveredhetnek a göndör és az egyenes idézőjelek. Futtasd az egyenesítési lépést egyszer, majd keress az eredményben maradékokat, mert a források eltérnek.
- Aposztrófok a szavakban. A szóösszevonásokban lévő göndör aposztróf egyenessé válik, ami a legtöbb kódnak megfelel. Ellenőrizd a stringeken belül előforduló összevonásokat.
- Őrizd meg az eredetit. Az egyenesítés egyirányú: egy egyenes idézőjelből nem látszik, melyik göndör idézőjelből lett. Tartsd meg az eredeti dokumentumot, és a módosítást másolaton végezd.
- Gondolatjelek mondatokban. A mondatban törésként használt em-kötőjel kötőjellé válik, így a „várj — állj meg” „várj - állj meg” lesz. Olvasásra szánt szövegnél írd át kézzel.
- Láthatatlan karakterek. A beillesztett szöveg tartalmazhat nulla szélességű szóközöket is. Ezek nem idézőjelek, de hasonlóan rontják el a kódot. A rejtett karakterek útmutató foglalkozik velük.
A Angol eredeti alapján, MI segítségével fordítva.
Hozzászólások
Még nincs hozzászólás. Legyél te az első.


