Normaliser tegnsæt

Hvis ord indeholder et eller flere europæiske specialtegn, sorterer de ikke rigtigt ud i forhold til deres "normal"form. De skal derfor erstattes i alle rå-tekst-filer.

Indeholder min tekstfil "forkerte" tegn ?

Lav en simpel regex-baseret søgning på hver af disse:
1. Tegn med accenter, tilde, diaresis - undertiden nødvendigt at udskifte dem med "rene" a-z-ækvivalente tegn:

[àáâäãèéêëìíîïòóôöõùúûüÿýñç?šžÀÁÂÄÃÈÉÊËÌÍÎÏÒÓÔÖÕÙÚÛÜŸÝÑßÇŒ?ŠŽ?ð]

2. Hvor et tegn er blevet til dobbelt, uforståeligt tegn:

©|®|Ã?|á|ª|ç|Ç|Ë|ë|é|É|Ã*|Ã?|Ã?|ï|Ñ|ñ|Ó|ó|â„¢|ú|Ú|ü|Ãœ|æ|Æ|Ä|ä|Ö|ø|Ø|ö|Ã¥|Ã…|

Hvis filen er kodet Windows 1252 Vesteuropæisk: brug Bibliometry Toolbox » UTF-8 Decoding. Hvis filen er kodet UTF-8: kopier al tekst, indsæt den i et Windows 1252 Vesteuropæisk kodet nyt dokument og gør som ovenfor.

3. Hvis f.eks. ø står som: ø (HTML_entity), ø (Decimalkodet), ø (Hexadecimalkodet) eller ikke ikke_a-z_og_0-9_tegn er kodet som f.eks. %28 for rund venstreparentes kan filen normaliseres med PERL-programmer char_HTML.pl - testfil

Filen kan gennemsøges for HTML-entiteter med denne regex:

&[#;a-z0-9]+;

- og for HTML-koder med hexadecimalværdi, f.eks. U\+00F2:

U.*?00([0-9A-F]{2})

4. Forskellige typer anførselstegn - find og erstat med "

‘|’|“|”|'|"|‹|›|«|»|„

5. Bindestreger: en- og em-dash m.fl. - vanskelige at se, men kan findes findes med følgende regex - erstat med "bindestreg":

\u2010|\u2011|\u2012|\u2013|\u2014

6. "Kinesiske tegn": æ og de fleste umlaut bogstaver står som kinesiske skrifttegn, ø er normalt: skyldes, at HTML-kodning, f.eks. æ er blevet konverteret til UTF-8, sker primært ved tekstudtræk fra websider's kildekode, hvor man ikke sletter "charset=utf-8" før teksten gemmes (som Win-1252) eller hvor man copy/paster utf-8-kodet tekst ind i en Win-1252 kodet (evt. tom) tekstfil - konverter om nødvendigt den tomme tekstfil til utf-8 før paste.

Normalisering af tegn med accent'er, tilde o.lign.

På Windows-PC: PERL-program til Windows 1252-filer - hvordan afvikler man det ? - identisk med ISO-8859-1 bortset fra š,
Š, z og Z (med hat over)

UTF-8 kodet tekst blandet med ANSI

Alle tegn mellem a-z, A-Z og 0-9 behandles ens, men de fleste specielle europæiske bogstaver kodes i UTF-8 tegnsættet med to bytes, i et enkelt-byte tegnsæt som ISO 8859-1 or Windows-1252 vises tegnet derfor som to (eller i nogle tilfælde 3) tegn:

Fejllæst UTF-8 kode Betydning (erstat med)
© ©
® ®
Ã? Á
á á
ª ª
ç ç
Ç Ç
Ë Ë
ë ë
é é
É É
Ã* í
Ã? Í
Ã? Ï
ï ï
Ñ Ñ
ñ ñ
Ó Ó
ó ó
â„¢
ú ú
Ú Ú
ü ü
Ãœ Ü
æ æ
Æ Æ
Ä Ä
ä ä
Ö Ö
ø ø
Ø Ø
ö ö
Ã¥ å
Ã… Å
ß tysk-dobbelt s: ß

Tegnsættet kan normaliseres med dette PERL program - hvordan afvikler man det ?
Se også: https://perlgeek.de/en/article/encodings-and-unicode | http://www.i18nqa.com/debug/utf8-debug.html | http://www.utf8-chartable.de/ | http://htmlpurifier.org/docs/enduser-utf8.html | http://ahinea.com/en/tech/perl-unicode-struggle.html | http://www.bnl.gov/itd/web/foreignlanguagecharacters.asp |
A tutorial on character code issues | http://interglacial.com/tpj/14/
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
http://ahinea.com/en/tech/perl-unicode-struggle.html
Simpel oversigt over tegnværdien for forskellige tegn i ANSI-Latin 1 og UTF-8
http://en.wikibooks.org/wiki/Perl_Programming/Unicode_UTF-8 | http://www.theasciicode.com.ar/ | http://www.joelonsoftware.com/articles/Unicode.html | http://www.codetable.net/
http://www.real-world-systems.com/docs/Characters.html

http://unicode-table.com/en/


Normalisering tegn for tegn:

á|à|â|ã a (lille a)
Á|À|Â|Ã A (stort A)
é|è|ê|ë e (lille e)
É|È|Ê|Ë E (stort E)
í|ì|î|ï i (lille i)
Í|Ì|Î|Ï I (stort I)
ó|ò|ô|õ o (lille o)
Ó|Ò|Ô|Õ O (stort o)
ú|ù|û u (lille u)
Ú|Ù|Û U (stort U)

Suppleres med:

č
ç
Ç
ð
Ð
Ñ
ñ
œ
Œ
š
Š
ß
þ
Þ
ý|ÿ
Ý|Ÿ
ž
Ž
ü
Ü
ö
Ö
ä
Ä

polsk l, h


Letters with diacriticals
á > á
ä > ä
Ä > ä
ç > ç
é > é
É > É
è > è
ì > ?
ê > ê
í > í
ï > ï
Ä© > ?
ó > ó
ø > ø
ö > ö
Ö > ö
Å¡ > š
ü > ü
Lú > ú
Å© > ?
ñ > ñ
Punctuation
’ > '

se også http://bibliometri.wikidot.com/excel-utf8

http://en.wikipedia.org/wiki/Western_Latin_character_sets_%28computing%29 - med MAC-codepoints


No-breaking space karakterer

Ved arbejde med websiders kildekode, kan det ske at HTML.koden "no-breaking space" bevares i tekstudtrækket som usynlig mellemrums-karakter - hexadecimalkode: C2A0
Den kan findes og fjernes i en hexadecimal-editor (f.eks. EditPad: CTRL-H)

C2A0


Medmindre andet er angivet, er indholdet af denne side licenseret under Creative Commons Attribution-ShareAlike 3.0 License