Problem med tegnsætning og visning af tegn

Tags:    html css

<< < 12 > >>
Hej

På siden www.sejthenauto.dk oplever jeg problemer med visning af specialtegn samt æ, ø og å. Jeg har forsøgt mig med både ISO-8859-1 og UTF-8.

Problematikken består i at med ISO tegnsætning vises specialtegn på alle sider underligt med undtagelse af siden "lagerliste" (hvis man klikker på en bil). Skifter jeg derimod tegnsætningen til UTF vises alle siderne korrekt, med undtagelse af ovenstående side.

Alle tekstsiderne inkl. "lagerliste" inkluderes i index.php via include-funktionen. Der er kun defineret et tegnsæt i index-filen.

Jeg begriber ikke hvorfor det forholder sig således, så jeg håber at kunne få noget hjælp.

På forhånd mange tak
Kasper



14 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Helt generelt understøtter UTF-8, stortset alle tegn, og derfor bruger jeg det ofte. Men ISO-hvaddetnuhedder, har også understøttelse for en del vest-europæiske tegn, inkl. de danske. Så... Det er hip, som hap.



Hvis hele din database er opsat i ISO-8859-1, ja så er det letteste altså at lade resten være det også :) og idet alle dine sider lader til at have problemer med andet end UTF-8 må problemet ligge i at dine filer er gemt i UTF-8, men skal gemmes i ISO-8859-1 i stedet.




Hej Kasper,

Som Randi siger, gem dine filer i ISO standarden. Og husk at sikre dine forms, samt angive i din HTML kode;
http://www.kim-andersen.dk/tegnsaet/dansk_tegnsaet_ae_oe_aa_database.htm

Med venlig hilsen
Ieet



Det er fordi du glemmer at specificere tegnkodningen på den side, som din XHR (XMLHttpRequest) henter.

På din hovedside bruger du en <meta http-equiv> men det trick kan ikke bruges på data hentet med XHR.

På den side, der hentes med XHR, altså referencer.htm, skal du udskifte din header:

Content-Type: text/html

med:

Content-Type: text/html; charset=ISO-8859-1

Det kan fx gøres i et PHP eller ASP.NET script eller det kan gøres i en .htaccess konfigurationsfil

I Firefox kan du i stedet tilføje følgende til dit XHR, men jeg tror ikke det virker i andre browsere:
req.overrideMimeType('text/html; charset=ISO-8859-1');
Se https://developer.mozilla.org/en/XMLHttpRequest#overrideMimeType%28%29




Umiddelbart lyder det som om den fil som indeholder din "lagerliste" er gemt i et forkert format :)

Hvis du har Vista ved jeg at du kan bruge notesblok til at gemme en fil i UTF-8.



Hvad med databasen du henter teksten fra? Hvilket format gemmer den i? Sørg for at alt, både database og side, er i enten UTF-8, eller ISO



jeg laver mine filer i Dreamweaver. Lagerlisten henter ganske rigtigt tekst fra en database, men der skulle alt tekst være ISO-8859-1 formateret.

Apropos det hele, hvilket format er så mest hensigtsmæssigt at benytte til hjemmesider med danske tekster, ISO eller UTF?



jeg vil tro det er nemmere at rette tegnkodningen for databaseforbindelsen i stedet for alle filerne. Det er ikke nødvendigt at rette tegnkodningen i selve databasen, men bare forbindelsen ved at lave en enkelt SET NAMES query efter man har forbundet til databasen. Med mindre man har en gammel/buggy database vil den så selv kunne sørge for konvertering.



Jesper:

Jeg løber ind i nøjagtig det samme problem her, hvor samtlige sider er html:

http://ajaxversion.muncken.dk

Et eksempel på en af de tekstsider der vises, er: http://ajaxversion.muncken.dk/referencer.htm .

Når jeg viser den separate side (referencer.htm etc.), så vises tegnene korrekt. Når de inkluderes i index.htm via et AJAX script, så udskiftet æ,ø,å osv. med mærkelige symboler.



Jesper: Jeg har nu tilføjet

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

i toppen af referencer.htm. Tilfældet er det samme - når jeg viser referencer.htm (samme links som ovenfor), vises tegnene korrekt. Så snart den hentes af min XHR, så vi ses tegenene forkert igen.

Kan det virkelig passe, at jeg ikke kan integrere html-filer med tekst (har prøvet med .txt filer også, samme resultat), uden at mit charset forstyrres?



<< < 12 > >>
t