Avatar billede s0mmer Nybegynder
09. maj 2009 - 11:31 Der er 16 kommentarer og
1 løsning

Charsets

Hej Eksperter,

Nu vil jeg gerne have et direkte svar once and for all..

Når jeg udvikler hjemmesider.. hvilket charset? UTF-8 eller ISO-8859-1.. Fordi hvis jeg tager det ene virker æøå i html kode, men ikke når det kommer ud gennem php kode og omvendt når jeg vælger det andet charset ? Og hvis det har noget med databasen at står alle mine felter i mysql basen til utf8_general_ci.

Kan i hjælpe?
Avatar billede jakobdo Ekspert
09. maj 2009 - 12:25 #1
Du bør anvende UTF-8 hele vejen igennem.
Avatar billede s0mmer Nybegynder
09. maj 2009 - 12:33 #2
Det svarer jo ikke helt mit problem :) Når jeg anvender (jeg kan ik lige huske den rigtige kombination) UTF vil echo "æøå"; faile men æøå vil vises i html. Hvis jeg anvender iso-8859-1 vil echo "æøå"; gå godt men æøå i html vil vises.

Hvorfor??
Avatar billede jakobdo Ekspert
09. maj 2009 - 12:37 #3
Fordi du anvender forkert charset et sted.

Test denne kode:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Blåbærgrød</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    </head>
    <body>
        <div id="centerDiv">Uhmmm, jeg elsker Blåbærgrød...</div>
    </body>
</html>

Husk at gem siden i utf-8 format.
Avatar billede jakobdo Ekspert
09. maj 2009 - 12:37 #4
Hvis du anvender notepad, kan du trykke save as -> encoding -> utf-8
Avatar billede s0mmer Nybegynder
09. maj 2009 - 12:39 #5
Ikke overraskende virker denne tekst..

men igen, for at ramme mit egentlig spørgsmål så, hvis jeg anvender et charset forkert 1 sted, så vil det fejle overalt? og hvad med databasen, det har intet at sige?
Avatar billede jakobdo Ekspert
09. maj 2009 - 12:48 #6
Jo, databasen, der skal du også anvende UTF8.

UTF8 i charset html, evt. header via php og som charset i mysql.
Så skulle alt være ok.
Avatar billede s0mmer Nybegynder
09. maj 2009 - 12:55 #7
Kan en print_r i php ødelægge noget med æøå ?
Avatar billede jakobdo Ekspert
09. maj 2009 - 13:00 #8
Det bør den bestemt ikke nej.
Avatar billede s0mmer Nybegynder
09. maj 2009 - 13:02 #9
Lige nu virker alt æøå både gennem php og i html, men det fra databasen får ? tegn.. databasen kører som sagt med utf8_general_ci i alle felter.
Avatar billede jakobdo Ekspert
09. maj 2009 - 13:05 #10
Hvordan er data indtastet i din database ?
Via phpmyadmin ?
Eller via hjemmesiden, da den havde ISO-8859-1 encoding ?
Avatar billede s0mmer Nybegynder
09. maj 2009 - 13:06 #11
Via hjemmesiden(admin-delen) som ja har iso-8859-1 encoding.. Vil dette kunne gøre det?
Avatar billede s0mmer Nybegynder
09. maj 2009 - 13:07 #12
hvis jeg indtaster via phpmyadmin æøå, fungerer det stadig ikke når det vises på siden.
Avatar billede jakobdo Ekspert
09. maj 2009 - 13:11 #13
Nej, via phpmyadmin.
Du skal indtaste data via en utf-8 side.
Der findes kode, som kan konvertere din data, prøv at søg lidt på google.com, for får du dine data konverteret til utf-8, så bør alt være i skønneste orden.
Avatar billede s0mmer Nybegynder
09. maj 2009 - 13:15 #14
jeg vil prøve at encode en admin side og teste det.. så vender jeg lige tilbage
Avatar billede s0mmer Nybegynder
10. maj 2009 - 15:28 #15
jakobdo > og så virker det :) jeg takker mange gange. send svar og du får points
Avatar billede jakobdo Ekspert
10. maj 2009 - 16:57 #16
Svar!
Avatar billede jakobdo Ekspert
10. maj 2009 - 20:56 #17
Takker for point.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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