Tegnsættet driller

Tags:    php

Hej

Når jeg skriver noget i min formular på min hjemmeside, hvor siden er sat til UTF-8 - fylder det ind i min tabel i mySQL, hvor tabellen og alle felter er sat til UTF_unicode_CI - hvilket jeg antager er deres navn for UTF-8 bliver alle æ, ø og å til æ, ø og Ã¥.
Når jeg derefter henter indholdet af tabellen ud på en af mine sider - som alle er sat til UTF-8, vises æ, ø og å rigtigt igen.
Som sådan er det jo ikke et stort problem, idet tegnene vises rigtigt alle de vigtige steder, men jeg ville nu gerne at jeg forstod, hvorfor det opfører sig så underligt...




9 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
skriv:
&ari ng; = å
&ael ig; = æ
&osla sh; = ø

(uden mellemrummet midt i ordet)



Indlæg senest redigeret d. 07.11.2007 16:27 af Bruger #11328
Det er sådan unicode fungerer - hvert af de lidt mere "eksotiske" bogstaver gemmes i virkeligheden som en kombination af to bogstaver (to bytes - eller evt. flere). Der skal jo gøres noget for at få plads til flere bogstaver end der ellers er.
Og når dine sider skal vises, kan browseren heldigvis "genkende" de bogstavs-kombinationer, og ved at de skal vises som ét bestemt bogstav i stedet.



Det er ikke altid nok bare at sætte charset=utf8 i HTML-koden. Du skal også formatere selve filen til UTF-8.



I din MySWL har du mulighed for at vælge hvad Collation skal være, for så kunne du prøve at vælge latin1_danish_ci



Fold kodeboks ind/udKode 


prøv den ;)



Det er sådan unicode fungerer - hvert af de lidt mere "eksotiske" bogstaver gemmes i virkeligheden som en kombination af to bogstaver (to bytes - eller evt. flere). Der skal jo gøres noget for at få plads til flere bogstaver end der ellers er.
Og når dine sider skal vises, kan browseren heldigvis "genkende" de bogstavs-kombinationer, og ved at de skal vises som ét bestemt bogstav i stedet.

Ja, men hvorfor kan jeg ikke få lov til at se det som de rigtige bogstaver i tabellen?
Desuden er jeg nu også løbet ind i at mails sendt med php ankommer med æ, ø og å som de førnævnte mystiske tegn. Jeg ahr prøvet at bruge functionende ut8_decode () uden held. Hvad gør man så?



Det er ikke altid nok bare at sætte charset=utf8 i HTML-koden. Du skal også formatere selve filen til UTF-8.

Det tror jeg allerede de er. jeg arbejder i dreamweaver og kan se i properties at siderne står til utf-8 i encoding.



Indlæg senest redigeret d. 07.11.2007 21:50 af Bruger #12744
Jeg har fået løst mit mailproblem ved at bruge utf8_decode rigtigt. Så nu er jeg bare tilbage ved min undren over, hvorfor min tabel i mySQL ikke kan vise tegnene rigtigt.



[ SLETTET ]



Indlæg senest redigeret d. 09.11.2007 12:32 af Bruger #11155
t