Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Slettet bruger
16. oktober 2009 - 19:45#1
Jeg mener ikke at UTF-8 er den rigtige til ÆØÅ
I html, bør den være: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Synes godt om
Slettet bruger
16. oktober 2009 - 19:52#2
Men hægter du så ikke ikke-nordvest-europæere af ? - mener UTF-8 er den "bredeste" encoding...
5-eren kan du nok godt droppe, hvis ikke det er UTF-8 indhold som kommer igennem hvordan **** skal din PHP kode vide hvad det så er?
Det burde ikke være nødvendigt når du har sat encoding med et meta tag, men hvis du vil helgardere 112% så kan du også sætte accept-charset="UTF-8" i form elementer.
Synes godt om
Slettet bruger
16. oktober 2009 - 21:39#8
@ erikjacobsen : Den er ikke oppe endnu : )
@ ebusiness : Det kan PHP se på teksten selv (med mb_detect_encoding) - (Mine) browsere på Windows i ISO-8859-1, mens de på Ubuntu leverer i UTF-8. (ISO måske fordi jeg ikke har specificeret nogen accept-charset på formen..)
Nej, din PHP kode kan ikke ud fra bitsekvensen gætte hvilken tegnkodning den er beregnet til at blive dekodet med. Stort set det eneste praktiske middel i denne sammenhæng er at tjekke om en streng er legal UTF-8, i så fald er den højest sandsynligt enten beregnet til at blive dekodet som UTF-8, eller også består den kun af standard ASCII karakterer, hvorfor den vil blive dekodet korrekt som UTF-8.
Men blandt alle de underlige ASCII udvidelser og andre obskure tegnsæt kan en computer ikke gøre andet end at gætte.
Jeg kan oplyse at din nuværende kode helt sikkert ikke kan håndtere andet end UTF-8 og ISO-8859-1, for utf8_encode forudsætter at inputtet er en ISO-8859-1 streng.
Jeg er ikke helt sikker på om det kan resultere i en fejl, men som din kode er nu så kan en UTF-8 streng blive genkendt som noget andet.
Du kan tvinge funktionen til altid at returnere enten UTF-8 hvis det er en legal UTF-8 streng, eller false i modsat fald: mb_detect_encoding($in."a",'UTF-8')
ISO 10646 er et character set (mere eller mindre det samme som Unicode), ikke en encoding. UTF-8, som du jo allerede har valgt, er en encoding af Unicode/ISO 10646, og alle 100.000 tegn er der.
"Det vi også mangler at vide, er hvorledes tegnsættet er angivet i HTTP-protokollen."
Sandsynligvis er der ikke angivet noget tegnsæt i HTTP headerne, men ja, det kunne han også godt vælge at gøre.
Synes godt om
Slettet bruger
25. oktober 2009 - 18:59#13
Godt så - Jeg dropper 5'eren igen - og sparer lidt strøm : )
Men tilføjer "accept-charset='UTF-8'" til ALLE forms.
Burde være overflødigt (eftersom HTML'ens "content-type" er specificeret som UTF-8) men det lader ikke til at bekymre (ihvertfald) Chrome. - Men "accept-charset='UTF-8'" direkte på formen overholder den.
Tak til alle som deltog - points går til ebusiness (hvis ellers jeg kan finde ud af det...)
Synes godt om
Ny brugerNybegynder
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.