Avatar billede peturkirke Novice
19. november 2008 - 18:22 Der er 9 kommentarer og
1 løsning

tegnsæt i php og mysql

Jeg har lavet en hjemmeside med php, hvor jeg har gemt filerne som utf-8, og så har jeg sat headeren til utf-8.
Nu har jeg så connected til en mysql database, men da jeg udskriver dataene med php kommandoen "echo", så skriver den ikke de særlige tegn (æ, ø) ud ordentligt. Det bliver til mærkeligt tegn i stedet. Jeg har prøvet at ændre databasen, tabellen samt kolonnerne til utf-8 (de var latin1 før), men det hjælper ikke.
Tegnene er korrekte, når jeg kigger i databasen (med mysql query browser).
Avatar billede w13 Novice
19. november 2008 - 18:24 #1
Er din database også sat til utf-8 alle steder?
Avatar billede peturkirke Novice
25. november 2008 - 19:56 #2
Jeg har ændret tabellen til UTF-8, samt den kolonne, som jeg bruger.

Men jeg kan ikke finde ud af, hvor jeg ændrer databasen til UTF-8 ?
Avatar billede erikjacobsen Ekspert
25. november 2008 - 20:00 #3
Så er teksten vel gemt som iso-8859-1 i databasen. Det ændres ikke ved det du gør.
Hvordan ytrer "mærkeligt tegn" sig?

Der er egentlig kun to muligheder.
1) Ændre alt indhold i felterne i databasen til utf-8 (læs og skriv alle felter)
2) Ændre til utf-8 efter læsning

Og selvfølgelig fortsætte med at overholde tegnsæt-konventionerne.
Avatar billede erikjacobsen Ekspert
25. november 2008 - 20:01 #4
Avatar billede erikjacobsen Ekspert
25. november 2008 - 20:04 #5
Og så giver det ingen mening at skrive "Tegnene er korrekte, når ..." - det kommer jo an på hvad "..." opfatter tegnene som. I dit tilfælde er din "mysql query browser" måske i humør til at vise indholdet som iso-8859-1.
Avatar billede peturkirke Novice
26. november 2008 - 14:36 #6
utf8_encode php funktionen løste mit problem. Tak for hjælpen. Skriv et svar.
Avatar billede olebole Juniormester
26. november 2008 - 14:43 #7
<ole>

- men da størstedelen af resten af verden bruger utf-8 (og iso-8859-1 de facto er deprecated), vil du i længden nok løse problemet bedre ved at konvertere databasens indhold til utf-8. Ellers kommer du let ud i én lang ørkenvandring i frem- og tilbagekonverteringer  ;o)

/mvh
</bole>
Avatar billede peturkirke Novice
26. november 2008 - 14:56 #8
hvordan gør jeg så det ?
Avatar billede erikjacobsen Ekspert
26. november 2008 - 15:38 #9
Jeg samler ikke på point, tak.

Ole fisker nok efter at du udfører punkt 1) ovenfor. Det kræver at du laver indholdet om i alle felter, og i fremtiden kun putter ind med utf-8.

Løsning 2) som er et nemt hack kræver jo, at du fortsætter med at putte data i felterne med iso-8859-1.
Avatar billede peturkirke Novice
22. januar 2009 - 14:54 #10
lukker
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