Dansk Sprog med utf-8

Tags:    programmering php

Hej Udviklere

Jeg har brug for at kunne udskrive æ,ø og å i en php søge-funktion via data fra database. Jeg har hørt noget om at man skal bruge noget der hedder utf-8. Desværre har jeg ikke fundet svar på google. Hvordan bruger man utf-8? Altså jeg har en søgefunktion i php der henter data fra min database. Men hvordan skal jeg bruge utf-8 før at den også kan udskrive æ,ø og å?



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 11 karma
Sorter efter stemmer Sorter efter dato
Om du henter via database kald eller input (same thing). Det tyder på at du et sted i enten koden(dokumentet), header eller din tabels charset ikke har UTF-8.

Jeg ville skyde på at dine tabeller/rækker ikke har det rigtige charset.



Skal du benytte UTF-8, skal du sikre dig at alt er gemt i UTF-8. Filer, database, m.m. Ligeledes skal du sende de korrekte headers sammen med dit output til browser. Mikser du flere forskellige tegnsæt, bliver det hurtigt kryptisk.

UTF-8 er et tegnsæt. ISO-8859-1 er også et tegnsæt, og har du ikke ændret ved det, så er det hvad dit IDE/notesblok/Dreamweaver formentlig bruger som standard, når du gemmer dine filer.
ISO-8859-1 er også kendt som Latin1 tegnsæt. Begge tegnsæt indeholder æøå og har ikke umiddelbart nogen forbindelse til hvad du beskriver.

Forskellen ligger i hvor mange bytes der bliver brugt til at beskrive et tegn. I ISO-8859-1 benyttes en byte, og i UTF-8 benyttes 2 bytes. Uden at det bliver for teknisk, kan man ud fra den viden, nemt konkludere at UTF-8 kan indeholde flere tegn end hvad der er muligt for ISO-8859-1.

Disse tegnsæt må ikke blandes, gør man det, bliver det hurtigt et makværk af kryptiske tegn og bogstaver.

Skal det blive mere konkret, må vi have et mere konkret spørgsmål, eller en mere konkret problemstilling. :)



Indlæg senest redigeret d. 06.06.2013 20:50 af Bruger #10216
En lidt mere konkret problemstilling :-) :

Jeg har et input der fungerer som et søgefelt. Når jeg søger på et ord i input'en finder koden den tekst frem fra databasen der indeholder det søgte ord. Men problemet er at der ikke er noget æ,ø eller å med.

Det fungerer fint når jeg henter data fra databasen ned til siden via php. Men så snart det foregår igennem en input får jeg nogle spørgsmålstegn i stedet for æ, ø og å.



Det her er søgefunktionen

Fold kodeboks ind/udPHP kode 



og det her er formen

Fold kodeboks ind/udHTML kode 


Jeg tænker at min tabel bør virke eftersom charset fungerer fint med et kald til den. Alle filer er gemt i utf-8 - alle headere indeholder:

Fold kodeboks ind/udHTML kode 


denne kode skriver det ud:
Fold kodeboks ind/udHTML kode 


- så jeg er rimlig forvirret over hvorfor det ikke virker ?? :)



Indlæg senest redigeret d. 07.06.2013 11:07 af Bruger #17516
t