Avatar billede krogstrup Nybegynder
13. januar 2002 - 00:59 Der er 4 kommentarer og
1 løsning

Problemer med at konvertere specialtegn fra DOS txt fil !

Problemstilling:

1. Der bliver uploadet en txtfil i DOS format
2. Når jeg læser denne fil igennem via fileSystemObjectet er alle specialtegn såsom æ,ø,å,Æ,Ø,Å,ä,ü,ö osv. ændret til alle mulige mærkelige symboler som f.eks. en firkant.

Jeg har altså brug for at køre en Replace på mit indhold hvor jeg ændrer symbolerne til deres korrekte respektive danske bogstav.

MEN: nu er jeg løbet ind i problemer - for det viser sig at mange af tegnene bliver oversat til samme symbol. F.eks. bliver både Ø & Å oversat til en firkant. Så når mit program finder en firkant i txt-filen ved jeg altså ikke om det er et Æ eller Ø jeg har med at gøre !?!

Hvordan får jeg lavet en Replace funktion der erstatter ALLE symboler tilbage til det korrekte tegn ?

I kan se filen det drejer sig om her:
http://www.kha.dk/fil.txt

Hvis I åbner ovenstående fil i notesblok vil specialtegnene bliver vist med forkerte symboler - men hvis I derimod åbner filen i Wordpad som en DOS fil, bliver æ,ø,å vist korrekt.

Jeg håber MEGET der er een der kan knække denne nød !
Avatar billede krogstrup Nybegynder
13. januar 2002 - 01:02 #1
Jeg har indtil videre følgende, der fungerer, da disse 3 bogstaver bliver vist med 3 forskellige symboler:

Function convertConcordeFile(line)
    line = replace(line,\"‘\",\"æ\")
    line = replace(line,\"›\",\"ø\")
    line = replace(line,\"†\",\"å\")
    convertConcordeFile = line
End Function

Men jeg har problemer med følgende tegn:

Æ Ø Å ä ö ü Ä Ö Ü
Avatar billede coltau Juniormester
15. januar 2002 - 11:32 #2
Denne her kan klare de Danske tegn ...

  Function DKOEMToAnsi(line)
    line = replace(line,Chr(145),\"æ\")
    line = replace(line,Chr(155),\"ø\")
    line = replace(line,Chr(134),\"å\")
    line = replace(line,Chr(146),\"Æ\")
    line = replace(line,Chr(157),\"Ø\")
    line = replace(line,Chr(143),\"Å\")
    DKOEMToAnsi = line
  End Function

og skal blot udvides med koderne for resten.
Avatar billede krogstrup Nybegynder
15. januar 2002 - 13:53 #3
hej coltau

ved du hvor jeg kan finde en liste over de forskellige Chr koder ?
Avatar billede coltau Juniormester
15. januar 2002 - 14:28 #4
I dokumentationen til DOS ! :->

Nej jeg ved det ikke. Det afhænger vel også af tegntabel. ?

Jeg har aldrig haft brug for andet end de danske tegn: æøåÆØÅ

Her er de sidste linier.

    line = replace(line,Chr(132),\"ä\")
    line = replace(line,Chr(148),\"ö\")
    line = replace(line,Chr(129),\"ü\")
    line = replace(line,Chr(142),\"Ä\")
    line = replace(line,Chr(153),\"Ö\")
    line = replace(line,Chr(154),\"Ü\")

Håber de passer til tegnsættet.
Avatar billede krogstrup Nybegynder
15. januar 2002 - 16:02 #5
TUSIND tak :-)

Det virker helt perfekt !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester