Avatar billede faurskov1 Nybegynder
18. april 2005 - 16:13 Der er 15 kommentarer

lav en tekstfil dynamisk i formatet UTF-8

Hej alle
Jeg har lavet et administrationsmodul, som via en database genererer en tekstfil. Tekstfilen skal bruges i diverse flash-spil (mange sprog), og skal derfor være UTF-8 format. Er det muligt at lave en tekstfil via ASP i formatet UTF-8? Eller alternativt kan man overskrive en eksisterende tekstfil i formatet UTF-8 med en helt ny tekst, og bibeholde formatet?

På forhånd tak

Brian Faurskov
Avatar billede moejensen Nybegynder
18. april 2005 - 18:28 #1
Brug følgende: Response.Charset="UTF-8" .
Avatar billede moejensen Nybegynder
18. april 2005 - 18:29 #2
Dim fso, MyFile
Response.Charset="UTF-8
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("This is a test.")
MyFile.Close
Avatar billede faurskov1 Nybegynder
18. april 2005 - 20:41 #3
KANON - det er første gang jeg bruger systemet - håber du har fået dine velfortjente point
Avatar billede moejensen Nybegynder
18. april 2005 - 22:14 #4
du skal lige acceptere svaret fra mig inden du kan give point.
Avatar billede faurskov1 Nybegynder
18. april 2005 - 23:21 #5
Jeg var vist lidt for hurtigt ude, fordi når jeg åbner den genererede fil i Notesblok og vælger 'gem som', så er formatet fortsat ANSI, og det format æder Flash ikke. Det ville være fedt hvis selve filen var i formatet UTF-8 (hvis jeg gemmer filen som UTF-8 via Notesblok, så æder Flash nemlig filen uden problemer)
Avatar billede moejensen Nybegynder
19. april 2005 - 07:44 #6
kan flash ikke klare filer der er skrevet vis ovenstående kode?
Avatar billede faurskov1 Nybegynder
19. april 2005 - 13:32 #7
Problemet er i sin enkelthed, at en asp-fil via et udtræk fra en database, skal generere en asp-fil i formatet UTF-8.

Problemet opstår når der kommer tegn a la ` og lignende fra databasen, så bliver den genererede fil ikke i UTF-8 formatet. (Filen skal efterfølgende bruges af en flashfilm, som bedst kan læse dette format).

Der er tale om en Access-database. Kan man sikre sig, at alle tegn der gemmes i databasen er i det rigtige format???
Avatar billede moejensen Nybegynder
19. april 2005 - 14:28 #8
prøv med et replave på 'og "


    Function AccentReplacer(strString)
        strString = Replace(strString, "'", "'")
        strString = Replace(strString, """", """)
        AccentReplacer = strString
    End Function
Avatar billede moejensen Nybegynder
19. april 2005 - 14:31 #9
eller prøv at brug Trim() metoden
Avatar billede faurskov1 Nybegynder
19. april 2005 - 15:35 #10
Hej moejensen og mange tak for de mange gode råd - jeg er imidlertid ikke helt tryk ved replace-metoden, da der jo kan forekomme mange specialtegn på de mange sprog som løsningen skal kunne fungere på.
Avatar billede moejensen Nybegynder
19. april 2005 - 15:42 #11
hvad med Trim() virker den?
Avatar billede faurskov1 Nybegynder
19. april 2005 - 16:25 #12
Trim gør desværre ikke forskellen :(
Avatar billede kjulius Novice
20. april 2005 - 02:47 #13
Uden at skulle gøre mig alt for klog (nedenstående er ren teori), så kunne du jo prøve at tænke over dette:

Det ser ikke ud til at man kan angive codepage på CreateTextFile, men man kan godt angive, at den skal oprettes som Unicode (som vel svarer til UTF-16?) ved at tilføje en ekstra parameter med værdien True:

Set MyFile = fso.CreateTextFile("c:\testfile.txt", True, True)

Det er stadig ikke UTF-8 der ligger i filen, men du burde i hvert fald ikke få problemer med specialtegnene (til gengæld fylder hvert tegn vel 16 bits - altså filen fylder dobbelt så meget).
Avatar billede faurskov1 Nybegynder
20. april 2005 - 10:14 #14
Hej kjulius
Jeg har prøvet at indstille parametrene på følgende måde, men desværre kan flash ikke læse unicode (ihvertfald ikke flash-player 6.0, som jeg udvikler til).
Avatar billede kjulius Novice
21. april 2005 - 00:05 #15
Okay, det var jo ærgerligt :-(
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