Avatar billede Pialind Nybegynder
18. oktober 2012 - 17:49 Der er 24 kommentarer og
1 løsning

Fejl i encoding og æøå

Hej,

Jeg har pludselig fået et problem med min hjemmeside, som er lavet i DW. Når jeg opretter nye sider (eller retter gamle), vil den nye tekst IKKE vise æøå. Laver jeg samme rettelser blot i notepad direkte i html'en viser den æøå fint nok. Gamle sider (tekst skrevet før i går) viser æøå fint nok.

DW er sat til som standard at bruge UTF-8 encoding
Min hjemmeside er i CSS filen sat til UTF-8 encoding
I de enkelte html sider står <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> i headeren

Skal lige siges jeg på INGEN måde er specielt god til html/css, men jeg har da formået at lave min side selv (det drejer sig om www.pialind.dk)

Hvad filen kan problemet være? Håber VIRKELIG der er nogen der kan hjælpe, for som det er nu, må jeg ind og søge/erstatte mystiske tegn i enten Notepad++ eller almindelig notesblok (det er forskelligt i hvilken jeg kan se fejlen...)
Avatar billede ntholm Nybegynder
18. oktober 2012 - 19:46 #1
<head>
    <meta content="Text/html" charset="utf-8" lang="da" />
</head>

ellers er det: lang="da-DK"
Avatar billede ntholm Nybegynder
18. oktober 2012 - 19:47 #2
så du skal bare tilføje: lang="da" - til den linie i din header.
Avatar billede Pialind Nybegynder
18. oktober 2012 - 19:54 #3
Gør ikke nogen forskel  :(
Avatar billede ntholm Nybegynder
18. oktober 2012 - 19:56 #4
Prøv at skriv det oppe i <html> tagget

<html xmlns="http://www.w3.org/1999/xhtml" lang="da-DK">
Avatar billede Pialind Nybegynder
18. oktober 2012 - 20:01 #5
Det står der allerede. Har lige testet min side i alle browser, og den fejl jeg troede jeg havde rettet er kun i Chrome og IE, i Firefox ser det forfærdeligt ud: http://www.pialind.dk/modelswanted/index.html
Avatar billede ntholm Nybegynder
18. oktober 2012 - 20:18 #6
og som den første linie i din css står der: @charset 'utf-8';

og der står:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8&#8243;>
i din header på alle sider?
Avatar billede Pialind Nybegynder
18. oktober 2012 - 20:25 #7
@charset "utf-8"; i CSS filen som det første = yup

Header på htmlsiden med fejl:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="da-DK>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" lang="da"/>
<meta http-equiv="content-language" content="da" />
og så keywords etc.

Prøvede lige at føre &#8243 på også, still no change :(
Avatar billede ntholm Nybegynder
18. oktober 2012 - 20:26 #8
den lavede lige en c/p fejl.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

bid mærke i at "text/html; charset=utf-8" er en hel string som bliver indsat i content="". Mange kommer til at "rette" dette.. inklusiv mig selv.

læs evt. linket her: http://www.w3schools.com/tags/ref_charactersets.asp
Avatar billede Pialind Nybegynder
18. oktober 2012 - 20:32 #9
Jeg har igen prøvet at kopiere præcis det du skriver ind i min header, men der er stadig fejl.
Avatar billede ntholm Nybegynder
18. oktober 2012 - 20:33 #10
Det burde virke med utf-8 - hvorfor det ikke gør det er mig et mysterie. Nu lavede jeg lige et html dokument.

Jeg fik det til at virke ved at bruge nordisk charset istedet.. altså i headeren:

<meta http-equiv="Content-Type"
content="text/html;charset=ISO-8859-10">
Avatar billede Pialind Nybegynder
18. oktober 2012 - 20:37 #11
Det MEGET mystiske er, at jeg også har haft problemet på forsiden, men pludselig er det væk...?

Prøvede så lige at tage headeren omkring content og text og kopiere over i den jeg linkede til højere oppe, men stadig fejl i bogstaverne... Der er NISSER i min Dreamweaver...
Avatar billede ntholm Nybegynder
18. oktober 2012 - 20:40 #12
hehe..

For mig, er det den her linie som gør det:


<meta http-equiv="Content-Type"
content="text/html;charset=ISO-8859-10">

Så viser den æøå. Prøv at copy paste den linie ind.

Det virker inde på http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_charsets
Avatar billede Pialind Nybegynder
18. oktober 2012 - 20:50 #13
Stadig ingen æøå i Firefox... Må vist sove på det
Avatar billede keysersoze Guru
18. oktober 2012 - 22:57 #14
Du skal køre samme charset overalt i applikationen - at sætte det i meta er ikke nok, filen skal også være gemt korrekt, webhotellet skal servere filen korrekt, henter du fra database skal den være sat korrekt op osv. Du bør køre med UTF-8.

http://www.web-dev.dk/post/Korrekt-visning-af-specielle-karakterer-character-encoding.aspx
Avatar billede Pialind Nybegynder
25. oktober 2012 - 09:22 #15
Nu spørger jeg så lige dumt: Jeg læser det som at det er dette afsnit jeg skal gøre noget ved i det du linker til:

Encoding fra serveren

Det sidste sted det kan gå galt er i forhold til hvilken encoding serveren sender dokumentet afsted i - og her ved jeg at flere webhoteller vælger at sender ISO-8859-1 som standard da det stadig er det format langt de fleste vælger og dette betyder altså, at vi har noget at skal tage forhold for med vores valg af UTF-8. Heldigvis er det ret simpel at styre da vi i vores web-config kan tilføje følgende til at overskrive webhotellets valg;

<system.web>
  <globalization responseEncoding="utf-8" requestEncoding="utf-8" fileEncoding="utf-8" />
</system.web>


Men HVOR gør jeg dette?? Er det i nogle egenskaber på webhotellet (jeg har Surftown), eller er det et sted lokalt i mine filer?
Avatar billede ntholm Nybegynder
25. oktober 2012 - 09:36 #16
Husker du at skifte til ISO-8859-1 alle stederne? :-) (css, head, doctype, web.config) så den ikke får besked på flere charsets.

Ville dog formode at du ikke behøver erklære det andre stedet, når det står i din webconfig.
Avatar billede ntholm Nybegynder
25. oktober 2012 - 09:39 #17
Udover hvad keyser siger, jeg har desværre ikke haft dette problem selv før - og var ikke klar over at db + webhotel også skal sættes ordenligt op.

Enhver anstændig dansk udbyder ville da automatisk sørge for at opsætningen blev således :-) Skriv til dem og bed dem om at gøre det - hvis det ellers ikke virker.
Avatar billede Pialind Nybegynder
25. oktober 2012 - 09:45 #18
Jeg har ikke gjort noget i web.config, for det har jeg ikke været klar over - jeg kan heller ikke lige gennemskue hvordan jeg finder den? ;)
Avatar billede keysersoze Guru
25. oktober 2012 - 21:49 #19
@ntholm > ISO-8859-1 hører fortiden til, UTF-8 bør være det rette valg i dag. Desværre vælger mange webhoteller bare stadig forkert.

@Pialind > web.config hører ASP.NET til så kører du på et PHP webhotel skal ændringen i stedet foregå i din htaccess-fil. Jeg er ikke selv PHP-mand så kan ikke huske præcis hvad du skal skrive men det bør kunne findes her på eksperten.
Avatar billede Pialind Nybegynder
27. oktober 2012 - 23:02 #20
Godt så - det viste sig at min udbyder har pillet ved noget - fandt her til aften ud af, at .htaccess filen hvor charset skulle skrives på serveren var blank... De har vist opdateret nogle servere, og tidspunktet for oprettelsen af denne fil passer med, hvornår mine problemer begyndte. Så det ser UD til at det MULIGVIS virker nu (efter jeg har rette i denne fil) :)

Men mange tak for jeres input alligevel - I kunne jo ikke vide, at min host havde pillet.... De banditter!
Avatar billede keysersoze Guru
28. oktober 2012 - 00:26 #21
men problemet var jo alligevel helt som beskrevet i #14 og #19...
Avatar billede Pialind Nybegynder
28. oktober 2012 - 00:35 #22
Ja, det er det vel, men jeg fandt aldrig ud af, hvordan jeg fandt stedet det skulle rettes på serveren, for det var åbenbart ikke i mine filer der var noget galt. Det var et tilfælde jeg fandt ud af, at min udbyder havde lavet ændringer det, og en tidligere kollega viste mig hvor, rettelsen skulle laves.
Og i øvrigt virker det ikke med UTF-8 - her giver den problemer med æøå stadig, måtte bruge ISO-8859-1.
Avatar billede Pialind Nybegynder
28. oktober 2012 - 00:43 #23
@keysersoze - havde ikke set du skrev det med htacces filen i #19 - sorry :(
Avatar billede keysersoze Guru
28. oktober 2012 - 08:58 #24
UTF-8 virker fint og det er den rigtige måde at gøre det på - det skal som sagt bare gøres konsekvent i hele applikationen. Men bare du fik det løst...
Avatar billede Pialind Nybegynder
28. oktober 2012 - 09:04 #25
Jeg har også kørt fint med UTF-8 før, men den fejlede i alle browsere når jeg rettede det (og ja - jeg huskede alle steder!) Måske min udbyder er lidt gammeldags ;) Men ja - det virker nu, og om ikke andet er jeg blevet klogere på fejlfinding af problemet i fremtiden (hvis de banditter laver om på det igen - for siden har kørt i 1½ uden æøå-problemer, det var først da de opgraderede nogle servere).
Anyway - jeg ved ikke om jeg kan give dig point når nu jeg har givet dem til mig selv igen (da jeg jo havde overset at du rent faktisk skrev det der var svaret)?
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
Kurser inden for grundlæggende programmering

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