Avatar billede thissel Nybegynder
26. februar 2008 - 19:25 Der er 10 kommentarer

txt-fil skrevet med fwrite() har problemer med specialtegn på Mac

Hej eksperter

Jeg har lavet et php-script som opretter en txt-fil på serveren med noget tekst i. Det er så meningen at brugeren højreklikker på et link til tekstfilen og gemmer den på sin private computer.

Problemet er at dem som bruger Mac ikke får vist specialtegn som fx æ, ø og å korrekt når det efterfølgende åbner txt-filen.

Jeg har læst et sted at specialtegn i plain-tekst encodes forskelligt i Windows og Mac og formoder derfor at det må være årsagen.

Spørgsmålet er så bare: Hvad kan jeg gøre for at få det til at fungere på både Mac og PC (eller evt. bare Mac)?

Håber virkelig at der er nogle eksperter derude der kan hjælpe mig....
Avatar billede coderdk Praktikant
26. februar 2008 - 21:43 #1
Prøv at utf8_encode() teksten inden du skriver - Virker det stadig ikke kan du prøve at skrive en BOM også (Byte Order Mark - til UTF-8 filer)
Avatar billede coderdk Praktikant
26. februar 2008 - 21:43 #2
(BOM bør ikke være nødvendig i UTF-8 nu jeg tænker mig om - Det er vist til UTF-16)
Avatar billede thissel Nybegynder
26. februar 2008 - 21:51 #3
Jeg har prøvet med utf8_encode(), men det får bare æ, ø og å til at se endnu mere mærkelige ud.
Avatar billede coderdk Praktikant
27. februar 2008 - 00:38 #4
eheh ok - har du så prøvet med utf8_decode? ;)
Avatar billede thissel Nybegynder
27. februar 2008 - 00:52 #5
Hvis jeg bruger utf8_decode så får jeg bare spørgsmålstegn de steder hvor der ellers er specialtegn...
Avatar billede jakobdo Ekspert
27. februar 2008 - 07:19 #6
Nu har jeg ikke en MAC at teste på, men hvordan ser følgende kode ud på din MAC: http://www.codebreaker.dk/exp/821260exp.php
Avatar billede jakobdo Ekspert
27. februar 2008 - 07:25 #7
Og jeg ved det ikke er pænt at lyve, min kæreste har en MAC og har lige testet og der virker ovenstående kode fint nok.
Avatar billede thissel Nybegynder
27. februar 2008 - 15:57 #8
jeg vil lige starte med at sige tak for jeres hjælp indtil videre...

Jeg har heller ikke selv en Mac desværre, men den funktion som jeg sidder og arbejder på skal bruges af en mac-bruger til daglig og det er hende som har gjort mig opmærksom på problemet.
Ud fra de screenshots jeg har modtaget fra brugeren kan jeg se at tegnene bliver vist rigtig nok så længe txt-filen vises i browseren. Det er først hvis man åbner txt-filen med Macs svar på Notesblok (ved ikke hvad den hedder) at tegnene vises forkert.
Avatar billede coderdk Praktikant
27. februar 2008 - 16:20 #9
Er du sikker på at det ser fjollet ud på hendes maskine med utf8_encode? I TextEdit (som Mac's Notepad vist hedder)...

Ellers er der noget bizart man kan gøre:

http://nunojob.wordpress.com/2007/12/25/from-ubuntuwindows-to-mac-os-x-leopard/

Kommentar nummer 2:

Mac OS X Leopard:

cmd + space terminal enter

{go to the directory where the file is}

bash$ iconv -f ISO-8859-15 -t UTF-8 {filename} > UTF8-{filename}
Avatar billede coderdk Praktikant
27. februar 2008 - 16:20 #10
(den løsning er så uden utf8_encode)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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