Avatar billede madd Nybegynder
19. juli 2004 - 20:37 Der er 9 kommentarer og
1 løsning

Danske specialtegn vises ikke korrekt i forbindelse med PHP

Hejsa,

Jeg er efter at have flyttet database og kode fra én server til en anden, begyndt at opleve at æ ø og å ikke bliver vist korrekt.

I min HTML har jeg sat charset til iso-8859-1. Jeg har tjekket at MySQL charset-encoding er sat til latin1, hvilket svarer til iso-8859-1. Derudover har jeg i Apache sat AddDefaultCharset til iso-8859-1.

Kigger jeg dataerne igennem i phpMyAdmin vises æ, ø og å helt korrekt.

Laver jeg flg. <?php print 'æ'; ?> vises det ligeledes korrekt.

Hvor kan problemet ligge?

/mattias
Avatar billede arne_v Ekspert
19. juli 2004 - 20:45 #1
Kan du præcisere "æ ø og å ikke bliver vist korrekt" ?
Avatar billede madd Nybegynder
19. juli 2004 - 20:46 #2
Ikke bliver vist korrekt as in: "Søg efter" -> "Søg efter"
Avatar billede arne_v Ekspert
19. juli 2004 - 20:49 #3
Så er det fordi UTF-8 bliver vist som ISO-8859-1 !
Avatar billede madd Nybegynder
19. juli 2004 - 20:51 #4
.. og hvordan ændrer jeg dette? Jeg er temmelig sikker på at jeg ikke har sat charset til at være UTF-8 nogle steder.
Avatar billede arne_v Ekspert
19. juli 2004 - 20:58 #5
Godt spørgsmål.

Jeg er ikke så PHP kyndig.

NB: Har jeg ret i at du er skiftet fra en lidt ældre Linux til en nyere Linux ?
Avatar billede madd Nybegynder
19. juli 2004 - 21:13 #6
Ja, jeg er skiftet fra en 2.4-kerne til 2.6.
Avatar billede majkat Nybegynder
20. juli 2004 - 13:46 #7
Det har intet med kernen at gøre -- jeg gætter på det er SuSE du har opgraderet? Sammen med skiftet til den nye kerne har de også skiftet til Unicode-tegnsættet som standard.

Prøv at indsætte flg. linie i din HTML:

  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  </head>

Hvis det ikke funger, så må du konvertere al tekst til HTML entities (http://dk.php.net/htmlentities)
Avatar billede arne_v Ekspert
20. juli 2004 - 14:04 #8
Det er ikke kun SUSE. Redhat er det samme.
Avatar billede madd Nybegynder
20. juli 2004 - 14:07 #9
Det drejer sig om en Debian-installation.

Jeg har læst mig frem til at der kan installeres et modul der tillader UTF-8-support direkte i kernen.

majkat: Den flg. linje var noget af det første jeg prøvede at indsætte - uden held.
Avatar billede madd Nybegynder
21. juli 2004 - 14:54 #10
Jeg har fundet en løsning på problemet.

Jeg kørte `dpkg-reconfigure locales` og satte da_DK.iso-8859-1 som standard.

/mattias
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
Computerworld tilbyder specialiserede kurser i database-management

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