/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
Nu er meta.. charset åbenbart blevet vigti~
Fra : Stig Johansen


Dato : 21-11-09 05:28

Hej.

I forbindelse med noget fifleri med noget javascript og lign, observerede
jeg, at Firefox pludselig syntes det var utf-8, og ikke iso-8859-1.

Først troede jeg det var javascriptet, der havde lavet ged i det, men da jeg
skulle til at rette et nyt program, prøvede den også at vise data som
utf-8.

Det var de samme data fra databasen, og ingen javascript, så det må være
Firefox.

Jeg kører uden charset fra serveren, og dermed burde det default være
iso-8859-1, subsidiært 'native tegnsæt' på PC'eren.

Dermed har jeg ikke set nogen grund til at (dobbelt) specificere tegnsæt på
hhv. server response/meta tags.

Men det er nu nødvendigt, sikker i forbindelse med en eller anden opdatering
(som jeg ikke kigger på), og en test viser:
charset=iso-8859-1 serveren virker uden meta, og meta virker uden charset
fra serveren.

Nu er det her .asp sider, så jeg ved ikke om det samme gør sig gældende på
andre 'filtyper'.

Det er før set (jeg sagde ikke IE), at visse browsere lægger betydning i
'fil endelsen'.

--
Med venlig hilsen
Stig Johansen

 
 
Frank Damgaard (21-11-2009)
Kommentar
Fra : Frank Damgaard


Dato : 21-11-09 13:07

Stig Johansen wrote:
> Hej.
>
> I forbindelse med noget fifleri med noget javascript og lign, observerede
> jeg, at Firefox pludselig syntes det var utf-8, og ikke iso-8859-1.
>
> Først troede jeg det var javascriptet, der havde lavet ged i det, men da jeg
> skulle til at rette et nyt program, prøvede den også at vise data som
> utf-8.
>

...snip.....

> Men det er nu nødvendigt, sikker i forbindelse med en eller anden opdatering
> (som jeg ikke kigger på), og en test viser:
> charset=iso-8859-1 serveren virker uden meta, og meta virker uden charset
> fra serveren.
>
> Nu er det her .asp sider, så jeg ved ikke om det samme gør sig gældende på
> andre 'filtyper'.
>
> Det er før set (jeg sagde ikke IE), at visse browsere lægger betydning i
> 'fil endelsen'.
>

har du URL ?
med lynx og w3m kan man hente/dumpe sidernes/URL's headere og checke tegnsæt.

er der intet angivet nogen steder, så er det op til browser at gætte/vælge noget
hvilket måske ikke er så heldigt .

Tidligere var det sådan at firefox var ligeglad med meta hvis headere havde content-type
med charset. IE gjorde omvendt og lod META-tag finde over header.
Opera gjorde vist som IE, og andre browsere anderledes.
Jeg har ikke checket fornylig for at se om FF3.5 eller IE8 gør noget andet,
jeg nøjes med at sikre mig at enten header eller META tag findes, og er der begge,
så at de er ens!

Noget andet er hvis javascript selv henter noget content (Ajax?), jeg plejer at sætte
header (serveren) på dette, da META ikke altid er muligt i text og andre formater.
Det kan jo give et problem hvis text eller XML i javascript der hentes er UTF-8
og html siderne er i 8859-1 , så skal javascript i givet fald selv konvertere
data fra UTF-8 til ISO8859-1 .....


Stig Johansen (21-11-2009)
Kommentar
Fra : Stig Johansen


Dato : 21-11-09 16:45

Frank Damgaard wrote:

> har du URL ?

En URL til 'problemet' eller definitionen?

'Problemet', som jeg ikke kan genskabe ligger i en prototype/test her:
<http://w-o-p-r.dk/notes/show.base.asp?databasename=Viking>
(Jeg er ikke meget for at give linket her, da jeg bruger både frames og
target=_blank <gd&r>)

Jeg har ikke lagt logon adgang ind, så jeg har spærret for adgang vha. ip
adresser, men hvis man klikker på f.eks. 'efter program', så har man 3 valg
- show note(burde ikke være spærret), edit note, eller add note.

Alle 3 funktioner henter nøjagtig den samme template og data fra databasen,
og det havde muligvis noget at gøre med, at første tekst var 'Ææændring',
eller i virkeligheden 'ÆØÅæøånriing'.
<http://w-o-p-r.dk/notes/show.notes.asp?databasename=Viking&id=8>

Men da data ligger i databasen, er det 100% sikkert de sammr der blev vist.

Men mener du en URL til definitionen, så er der en her:
<http://www.w3.org/International/O-HTTP-charset>

> med lynx og w3m kan man hente/dumpe sidernes/URL's headere og checke
> tegnsæt.

Det er noget ASP jeg selv laver, så jeg håber jeg selv ved hvad jeg sender,
men ellers har jeg lavet et tool til det samme:
<http://w-o-p-r.dk/wopr.tools/probes/wopr.probes.asp>

> er der intet angivet nogen steder, så er det op til browser at gætte/vælge
> noget hvilket måske ikke er så heldigt .

Mjah.. - de burde bruge iso-8859-1 eller PC'ens 'native' charset jfr.
ovenstående:
.....
HTTP 1.1 says that the default charset is ISO-8859-1. But there are too many
unlabeled documents in other encodings, so browsers use the reader's
preferred encoding when there is no explicit charset parameter.
.....

I mit tilfælde begyndte FF pludselig at (forsøge at) vise data som utf-8,
hvilket gav 'firkanter' i stedet for ÆØÅ osv.

> Tidligere var det sådan at firefox var ligeglad med meta hvis headere
> havde content-type med charset.

Sådan er det vist stadig.

> IE gjorde omvendt og lod META-tag finde
> over header.

Ikke med IE6 ifølge min test:
<http://w-o-p-r.dk/tips/asp/iso.win.chars.asp?charset=iso-8859-1&meta=utf-8>

> Opera gjorde vist som IE, og andre browsere anderledes.

Jeg ved ikke med Opera, men min Konqueror sætter header over meta, på samme
måde som IE og FF.

> Jeg har ikke checket fornylig for at se om FF3.5 eller IE8 gør noget
> andet, jeg nøjes med at sikre mig at enten header eller META tag findes,

Ja, men af 'dovenskab' havde/har jeg ikke sat nogen af delene, da det burde
være default med iso-8859-1 (eller win-1252) jfr. specs af HTTP 1.1.

> Noget andet er hvis javascript selv henter noget content (Ajax?), jeg
> plejer at sætte header (serveren) på dette, da META ikke altid er muligt i
> text og andre formater. Det kan jo give et problem hvis text eller XML i
> javascript der hentes er UTF-8 og html siderne er i 8859-1 , så skal
> javascript i givet fald selv konvertere data fra UTF-8 til ISO8859-1 .....

Med Ajax sørger jeg for explicit at sætte charset i header(og i xml
prologen) så virker det fint.

Den anden vej konverterer jeg dog til iso-8859-1 i javascriptet.

Nå, men jeg kan ikke genskabe problemet, så det har sikkert været en eller
anden mystisk kombination, der gjorde at min FF syntes det var sjovt at
bruge utf-8, så betragt mit indlæg som et hint, hvis man kommer ud for
'mærkelige' data uden tilsyneladende årsag.

--
Med venlig hilsen
Stig Johansen

Frank Damgaard (21-11-2009)
Kommentar
Fra : Frank Damgaard


Dato : 21-11-09 19:45

Stig Johansen wrote:
> Frank Damgaard wrote:
>
>> har du URL ?
>
> En URL til 'problemet' eller definitionen?

blot link/URL til eksempel med problemet.


se også andet indlæg i tråden

Erik Ginnerskov (21-11-2009)
Kommentar
Fra : Erik Ginnerskov


Dato : 21-11-09 16:14

Stig Johansen wrote:
> Hej.
>
> I forbindelse med noget fifleri med noget javascript og lign,
> observerede jeg, at Firefox pludselig syntes det var utf-8, og ikke
> iso-8859-1.
>
> Først troede jeg det var javascriptet, der havde lavet ged i det, men
> da jeg skulle til at rette et nyt program, prøvede den også at vise
> data som utf-8.

Der er i FF en indstilling: Funktioner > Indstillinger > Indhold > Avanceret
> Standard tegnkodning - jeg har sat min til iso-8859-1.

Den indstilling er måske blevet ændret?

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk


Stig Johansen (21-11-2009)
Kommentar
Fra : Stig Johansen


Dato : 21-11-09 17:10

"Erik Ginnerskov" <erik.ginnerskov@live.dk> wrote in message
news:4b0803be$0$269$14726298@news.sunsite.dk...
>
> Der er i FF en indstilling: Funktioner > Indstillinger > Indhold >
Avanceret
> > Standard tegnkodning - jeg har sat min til iso-8859-1.
>
> Den indstilling er måske blevet ændret?

Den (indstilling) kendte jeg ikke, og har lige tjekket, den er ikke ændret
og står til iso-8859-1.

Jeg tror der har været tale om et 'mystisk' fænomen, da samme data
(opret/ret/vis) blev vist forskelligt i forskellige vinduer, men på samme
tid.

Selvom jeg har prøvet at fjerne meta tagget igen, kan jeg ikke genskabe det,
så jeg tager det som en oplevelse, og noterer mig, at det 'kan ske'.

--
Med venlig hilsen/Best regards
Stig Johansen




Stig Johansen (21-11-2009)
Kommentar
Fra : Stig Johansen


Dato : 21-11-09 17:34

"Stig Johansen" <wopr.dk@gmail.com> wrote in message
news:4b080f99$0$273$14726298@news.sunsite.dk...
>
> Jeg tror der har været tale om et 'mystisk' fænomen, da samme data
> (opret/ret/vis) blev vist forskelligt i forskellige vinduer, men på samme
> tid.
>
> Selvom jeg har prøvet at fjerne meta tagget igen, kan jeg ikke genskabe
det,
> så jeg tager det som en oplevelse, og noterer mig, at det 'kan ske'.

Skulle lige sikre mig, at det ikke var noget jeg havde drømt.

Det havde(har) tydeligvis noget at gøre med, at jeg har indført 'rich' edit
i nogle af felterne, som bliver behandlet med javascript.

Som test af lidt markup brugte jeg denne her:
http://w-o-p-r.dk/notes/show.notes.asp?databasename=Notes&id=8

Og her har jeg ikke rettet eller indtastet:
"Tabellen Users bygges med følgende SQL: ",
så på en eller anden måde har 'hent|ret|gem' fået den over i 'utf-8 mode'.

Nå, men problemet er løst med at sætte charset/meta, så det var bare et hint
om at det kan ske.

--
Med venlig hilsen/Best regards
Stig Johansen




Stig Johansen (21-11-2009)
Kommentar
Fra : Stig Johansen


Dato : 21-11-09 17:44

"Stig Johansen" <wopr.dk@gmail.com> wrote in message
news:4b081553$0$271$14726298@news.sunsite.dk...

> Skulle lige sikre mig, at det ikke var noget jeg havde drømt.
>
> Det havde(har) tydeligvis noget at gøre med, at jeg har indført 'rich'
edit
> i nogle af felterne, som bliver behandlet med javascript.

Snakker lidt med mig selv, men jeg måtte lige have styr på det der skidt.

Prøvede lige at fjerne meta i rette funktionen, og lave en rettelse.
Det viser sig, at når man laver en redigerbar div, så kører den som utf-8
hvis der ikke er et meta tag (eller charset i header).
Jeg hentede og rettede:
http://w-o-p-r.dk/notes/show.notes.asp?databasename=Notes&id=9
så jeg kan godt genskabe problemet alligevel.

--
Med venlig hilsen/Best regards
Stig Johansen




Frank Damgaard (21-11-2009)
Kommentar
Fra : Frank Damgaard


Dato : 21-11-09 19:46

Stig Johansen wrote:
> "Stig Johansen" <wopr.dk@gmail.com> wrote in message
> news:4b081553$0$271$14726298@news.sunsite.dk...
>
>> Skulle lige sikre mig, at det ikke var noget jeg havde drømt.
>>
>> Det havde(har) tydeligvis noget at gøre med, at jeg har indført 'rich'
> edit
>> i nogle af felterne, som bliver behandlet med javascript.
>
> Snakker lidt med mig selv, men jeg måtte lige have styr på det der skidt.
>
> Prøvede lige at fjerne meta i rette funktionen, og lave en rettelse.
> Det viser sig, at når man laver en redigerbar div, så kører den som utf-8
> hvis der ikke er et meta tag (eller charset i header).
> Jeg hentede og rettede:
> http://w-o-p-r.dk/notes/show.notes.asp?databasename=Notes&id=9
> så jeg kan godt genskabe problemet alligevel.

Ja den er også gal i FF /linux.

"Tabellen Useraccess ÆØÅæøå bygges med f�lgende SQL:"

Men dine headere på siden siger også:
( lynx -head -dump http://.... )

HTTP/1.1 200 OK
Cache-Control: private
Connection: close
Date: Sat, 21 Nov 2009 18:39:03 GMT
Content-Length: 1878
Content-Type: text/html; Charset=iso-8859-1
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
....

dvs. FF vil bruge iso-8859-1, men du skriver noget i UTF-8 på siden
og så skal det gå galt. (meta tag er i øvrigt også iso-8859-1)

og det er html-filen (eller asp koden der laver html) den er gal med:

<div class="areafield" id="Indhold"> Tabellen Useraccess <span style="font-weight:
bold;">ÆØÅæøå</span> bygges med f�lgende SQL:<br><br>CREATE TABLE Useraccess
(<br>userid int,<br>databaseid int,<br>accessflag int)</div>

så jeg tror ikke det er javascript men den tekst du skriver i ASP koden.
Så måske den henter noget i UTF-8 og bare hælder det ud uden at konvertere,
eller konvertere forkert et par gange undervejs.
Check evt. i databasen direkte om tekst er korrekt gemt i forventet tegnsæt.



Stig Johansen (22-11-2009)
Kommentar
Fra : Stig Johansen


Dato : 22-11-09 00:44

Frank Damgaard wrote:

>
> Ja den er også gal i FF /linux.
>
> "Tabellen Useraccess ���æøå bygges med f�lgende SQL:"
>

Ja, for jeg lod det stå uden at rette tilbage.

> Men dine headere på siden siger også:
...
> Content-Type: text/html; Charset=iso-8859-1

Ja, for jeg satte dem ind igen efter at have prøvet uden.

> dvs. FF vil bruge iso-8859-1, men du skriver noget i UTF-8 på siden
> og så skal det gå galt. (meta tag er i øvrigt også iso-8859-1)
>
> og det er html-filen (eller asp koden der laver html) den er gal med:
>
> <div class="areafield" id="Indhold"> Tabellen Useraccess <span
> style="font-weight:
> bold;">���æøå</span> bygges med f�lgende SQL:<br><br>CREATE TABLE
> Useraccess (<br>userid int,<br>databaseid int,<br>accessflag int)</div>
>
> så jeg tror ikke det er javascript men den tekst du skriver i ASP koden.
> Så måske den henter noget i UTF-8 og bare hælder det ud uden at
> konvertere, eller konvertere forkert et par gange undervejs.
> Check evt. i databasen direkte om tekst er korrekt gemt i forventet
> tegnsæt.

Det er data fra satabasen, og det - lidt mærkelige - html er automatisk
genereret af html editoren, men i virkeligheden er det data.

Her er historien med testen:
Feltet står med denne tekst (iso-8859-1 i databasen):
bygges med følgende SQL:

Hvis man ikke sender header eller meta med, så skifter den (FF) over i
utf-8, og viser:
bygges med f[]lgende SQL:
([] skal forstås som et underligt tegn i FF).

Herefter tilføjer jeg så:
ÆØÅæøå - der nu i formen er utf-8, og bliver vist som ÆØÅæøå.

Det betyder, at ved opdatering i databasen er indholdet pludselig blevet til
utf-8.

Efterfølgende har jeg sat header og eller meta på igen, og så kan man se, at
den nu bruger iso-8859-1.

Indholdet - eller teksten har jeg ikke rettet tilbage, netop for man kan
'se' problemet.

Det har tydeligvis noget at gøre med javascriptet, eller at jeg sætter FF i
'designmode'.

Jeg har en lille testversion:
<http://w-o-p-r.dk/tips/javascript/paste.textarea.html>
Der skriver jeg direkte ÆØÅæøå i sourcen (i et textarea), og kopierer det
over i div'en.

I min FF går den over i utf-8, men ikke i IE(6).

Tog lige en kopi og lagde meta ind:
<http://w-o-p-r.dk/tips/javascript/paste.textarea.meta.html>

Her er der tale om nøjagtig den samme source (+ meta), men der skifter FF
ikke over i utf-8.

--
Med venlig hilsen
Stig Johansen

Frank Damgaard (22-11-2009)
Kommentar
Fra : Frank Damgaard


Dato : 22-11-09 14:38

Stig Johansen wrote:
> Frank Damgaard wrote:
>
>> Ja den er også gal i FF /linux.
>>
>> "Tabellen Useraccess ���æøå bygges med f�lgende SQL:"
>>
>
> Ja, for jeg lod det stå uden at rette tilbage.
>
>> Men dine headere på siden siger også:
> ..
>> Content-Type: text/html; Charset=iso-8859-1
>
> Ja, for jeg satte dem ind igen efter at have prøvet uden.
>
>> dvs. FF vil bruge iso-8859-1, men du skriver noget i UTF-8 på siden
>> og så skal det gå galt. (meta tag er i øvrigt også iso-8859-1)
>>
>> og det er html-filen (eller asp koden der laver html) den er gal med:
>>
>> <div class="areafield" id="Indhold"> Tabellen Useraccess <span
>> style="font-weight:
>> bold;">���æøå</span> bygges med f�lgende SQL:<br><br>CREATE TABLE
>> Useraccess (<br>userid int,<br>databaseid int,<br>accessflag int)</div>
>>
>> så jeg tror ikke det er javascript men den tekst du skriver i ASP koden.
>> Så måske den henter noget i UTF-8 og bare hælder det ud uden at
>> konvertere, eller konvertere forkert et par gange undervejs.
>> Check evt. i databasen direkte om tekst er korrekt gemt i forventet
>> tegnsæt.
>
> Det er data fra satabasen, og det - lidt mærkelige - html er automatisk
> genereret af html editoren, men i virkeligheden er det data.
>
> Her er historien med testen:
> Feltet står med denne tekst (iso-8859-1 i databasen):
> bygges med følgende SQL:
>
> Hvis man ikke sender header eller meta med, så skifter den (FF) over i
> utf-8, og viser:
> bygges med f[]lgende SQL:
> ([] skal forstås som et underligt tegn i FF).
>
> Herefter tilføjer jeg så:
> ÆØÅæøå - der nu i formen er utf-8, og bliver vist som ÆØÅæøå.
>
> Det betyder, at ved opdatering i databasen er indholdet pludselig blevet til
> utf-8.
>
> Efterfølgende har jeg sat header og eller meta på igen, og så kan man se, at
> den nu bruger iso-8859-1.
>
> Indholdet - eller teksten har jeg ikke rettet tilbage, netop for man kan
> 'se' problemet.
>
> Det har tydeligvis noget at gøre med javascriptet, eller at jeg sætter FF i
> 'designmode'.
>
> Jeg har en lille testversion:
> <http://w-o-p-r.dk/tips/javascript/paste.textarea.html>
> Der skriver jeg direkte ÆØÅæøå i sourcen (i et textarea), og kopierer det
> over i div'en.

den side har ingen tegnsæt information, hverken headere eller meta,
og browser kan vælge efter for godt befindende ;
så måske det er default utf-8 på din browser.


>
> I min FF går den over i utf-8, men ikke i IE(6).

det er sikkert forskelligt i de forskellige browsere hvad de har som
default indstilling.

>
> Tog lige en kopi og lagde meta ind:
> <http://w-o-p-r.dk/tips/javascript/paste.textarea.meta.html>
>
> Her er der tale om nøjagtig den samme source (+ meta), men der skifter FF
> ikke over i utf-8.
>

her er heller ingen headere om contet-type, men du har en :

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

så her bør browseren anvende iso-8859-1, hvad den så også gør.

Stig Johansen (22-11-2009)
Kommentar
Fra : Stig Johansen


Dato : 22-11-09 14:50

Frank Damgaard wrote:

> Stig Johansen wrote:
>>
>> Jeg har en lille testversion:
>> <http://w-o-p-r.dk/tips/javascript/paste.textarea.html>
>> Der skriver jeg direkte ÆØÅæøå i sourcen (i et textarea), og kopierer det
>> over i div'en.
>
> den side har ingen tegnsæt information, hverken headere eller meta,

Nej, og det er for at illustrere problemet.

> og browser kan vælge efter for godt befindende ;

De(n) burde nu vælge iso-8859-1, som er standard, eller subsidiært utf-16,
som windows kører med, og ikke:
> så måske det er default utf-8 på din browser.
som ikke er default, men iso-8859-1.

(Jeg snakker kun FF, da problemet ikke eksisterer i IE(6)).

>> I min FF går den over i utf-8, men ikke i IE(6).
>
> det er sikkert forskelligt i de forskellige browsere hvad de har som
> default indstilling.

FF står til iso-8859-1.

>> Tog lige en kopi og lagde meta ind:
>> <http://w-o-p-r.dk/tips/javascript/paste.textarea.meta.html>
>>
>> Her er der tale om nøjagtig den samme source (+ meta), men der skifter FF
>> ikke over i utf-8.
>>
>
> her er heller ingen headere om contet-type, men du har en :
>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

Jeg skrev:
..."og lagde meta ind"..

> så her bør browseren anvende iso-8859-1, hvad den så også gør.

Ja, og det bringer os tilbage til subj:
"Nu er meta.. charset åbenbart blevet vigtig"
da det er vigtigt at angive charset enten i header eller i meta, da FF
tilsyneladende ikke respekterer standard charset (aka iso-8859-1)

--
Med venlig hilsen
Stig Johansen

Frank Damgaard (22-11-2009)
Kommentar
Fra : Frank Damgaard


Dato : 22-11-09 16:23

Stig Johansen wrote:
> Frank Damgaard wrote:
......

>> her er heller ingen headere om contet-type, men du har en :
>>
>> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
>
> Jeg skrev:
> .."og lagde meta ind"..
>
>> så her bør browseren anvende iso-8859-1, hvad den så også gør.
>
> Ja, og det bringer os tilbage til subj:
> "Nu er meta.. charset åbenbart blevet vigtig"
> da det er vigtigt at angive charset enten i header eller i meta, da FF
> tilsyneladende ikke respekterer standard charset (aka iso-8859-1)
>

Jeg tror ikke man kan forvente noget default, nogle lande
bruger jo ikke iso-8859-1 men andre tegnsæt der bedre passer.
Så bedst er altid at angive tegnsæt, enten i headere eller Meta,
specielt når der er input.

I linux afhænger det vist også til dels af environment LANG og LC_*
de fleste distributioner er efterhånden utf-8, og det er ikke
let at skifte tilbage til iso-8859-1 (input, terminal/konsol,...)



Stig Johansen (22-11-2009)
Kommentar
Fra : Stig Johansen


Dato : 22-11-09 19:57

Frank Damgaard wrote:

> Stig Johansen wrote:
>>
>> Ja, og det bringer os tilbage til subj:
>> "Nu er meta.. charset åbenbart blevet vigtig"
>> da det er vigtigt at angive charset enten i header eller i meta, da FF
>> tilsyneladende ikke respekterer standard charset (aka iso-8859-1)
>>
>
> Jeg tror ikke man kan forvente noget default,

Åbenbart ikke, og det er det, der skuffer mig lidt (mht FF), for standarden
siger default er iso-8859-1, men så må man klassificere den som 'older
browser':
<http://tools.ietf.org/html/rfc2616.html#section-3.4.1>
.....
Some HTTP/1.0 software has interpreted a Content-Type header without
charset parameter incorrectly to mean "recipient should guess."
.....

> nogle lande
> bruger jo ikke iso-8859-1 men andre tegnsæt der bedre passer.

Ja, men der er det ikke default (iso-8859-1), og så skal man selvfælgelig
bruge set tegnsæt siden er skrevet i.

> Så bedst er altid at angive tegnsæt, enten i headere eller Meta,
> specielt når der er input.

Det er det jeg fandt ud af.
Dog skuffer det mig, at FF kan finde på at bruge utf-8 når default er
iso-8859-1 og det er sat i preffered, samt at det er windows(utf-16).

> I linux afhænger det vist også til dels af environment LANG og LC_*
> de fleste distributioner er efterhånden utf-8, og det er ikke
> let at skifte tilbage til iso-8859-1 (input, terminal/konsol,...)

Nu kører min Linux iso-8859-1, men hvis Linux skal overholde standarder, bør
den også bruge iso-8859-1, når der ikke er angivet noget, og ikke
....incorrectly to mean "recipient should guess."...
som anført i RFC'en.


--
Med venlig hilsen
Stig Johansen

Frank Damgaard (22-11-2009)
Kommentar
Fra : Frank Damgaard


Dato : 22-11-09 21:08

Stig Johansen wrote:
> Frank Damgaard wrote:
>
>> Stig Johansen wrote:
>>> Ja, og det bringer os tilbage til subj:
>>> "Nu er meta.. charset åbenbart blevet vigtig"
>>> da det er vigtigt at angive charset enten i header eller i meta, da FF
>>> tilsyneladende ikke respekterer standard charset (aka iso-8859-1)
>>>
>> Jeg tror ikke man kan forvente noget default,
>
> Åbenbart ikke, og det er det, der skuffer mig lidt (mht FF), for standarden
> siger default er iso-8859-1, men så må man klassificere den som 'older
> browser':
> <http://tools.ietf.org/html/rfc2616.html#section-3.4.1>
> ....
> Some HTTP/1.0 software has interpreted a Content-Type header without
> charset parameter incorrectly to mean "recipient should guess."

prøv i FF at skrive about:config og søg på charset (indtast)
måske der er en opsætning der er forkert undervejs.
diverse opgraderinger af FF kan have kokset opsætning.

> ....
>
>> nogle lande
>> bruger jo ikke iso-8859-1 men andre tegnsæt der bedre passer.
>
> Ja, men der er det ikke default (iso-8859-1), og så skal man selvfælgelig
> bruge set tegnsæt siden er skrevet i.

ja, hvis siden har sendt info om charset.

jeg har øjensynlig ikke fulgt med standarderne, for jeg troede
default var ASCI96... ;)



Frank Damgaard (22-11-2009)
Kommentar
Fra : Frank Damgaard


Dato : 22-11-09 21:30

Stig Johansen wrote:
> Frank Damgaard wrote:

> Åbenbart ikke, og det er det, der skuffer mig lidt (mht FF), for standarden
> siger default er iso-8859-1, men så må man klassificere den som 'older
> browser':
> <http://tools.ietf.org/html/rfc2616.html#section-3.4.1>
> ....
> Some HTTP/1.0 software has interpreted a Content-Type header without
> charset parameter incorrectly to mean "recipient should guess."
> ....


jo , det omhandler data hentet fra server, og det vises vel også korrekt
i FF ?


Problemet er her vist data sendt til server, og det
kan godt sendes i anden content-type charset, og
det er vist også det der sker og det så går galt
på serveren?


Stig Johansen (23-11-2009)
Kommentar
Fra : Stig Johansen


Dato : 23-11-09 03:08

Frank Damgaard wrote:

> jo , det omhandler data hentet fra server, og det vises vel også korrekt
> i FF ?

Nej, der er netop det, den (FF) ikke gør.
Hvis du kigger på dette eksempel her:
<http://w-o-p-r.dk/tips/javascript/paste.textarea.html>
som bliver sendt uden charset i headeren (udbyders opsætning), og sendes
uden meta, så se de her par linier i kilden:
.....
<form id="form2" action="http://w-o-p-r.dk/tips/asp/aspinfo.asp"
method="post">
<div id="editobject2">Text her</div><br/>
<textarea id="editobjectdata2" name="editobject2" rows="10"
cols="60">Text herÆØÅæøåÆØÅ</textarea>
<input type="submit" />
</form>
.....
Her sender jeg ÆØÅæøå som iso-8859-1, og min FF står til iso-8859-1
(menupunkt content|font&color|advanced).

Via javascript kopierer jeg indholdet fra editobjectdata2 til editobject2,
og der er editobject2 pludselig blevet til utf-8.

Kigger man på eksempler med meta:
<http://w-o-p-r.dk/tips/javascript/paste.textarea.meta.html>
som har samme indhold, så bliver div'en ikke opfattet som utf-8.

Da de fleste udbydere formentlig sender headers uden charset, syntes jeg
bare jeg ville påpege, at det er vigtigt at sætte meta, selvom det ikke
burde være nødvendigt.

Jeg betragter det som en bug i Firefox.

--
Med venlig hilsen
Stig Johansen

Frank Damgaard (23-11-2009)
Kommentar
Fra : Frank Damgaard


Dato : 23-11-09 20:04

Stig Johansen wrote:
> Frank Damgaard wrote:
>
>> jo , det omhandler data hentet fra server, og det vises vel også korrekt
>> i FF ?
>
> Nej, der er netop det, den (FF) ikke gør.
> Hvis du kigger på dette eksempel her:
> <http://w-o-p-r.dk/tips/javascript/paste.textarea.html>
> som bliver sendt uden charset i headeren (udbyders opsætning), og sendes
> uden meta, så se de her par linier i kilden:
> ....
> <form id="form2" action="http://w-o-p-r.dk/tips/asp/aspinfo.asp"
> method="post">
> <div id="editobject2">Text her</div><br/>
> <textarea id="editobjectdata2" name="editobject2" rows="10"
> cols="60">Text herÆØÅæøåÆØÅ</textarea>
> <input type="submit" />
> </form>
> ....
> Her sender jeg ÆØÅæøå som iso-8859-1, og min FF står til iso-8859-1
> (menupunkt content|font&color|advanced).


jeg prøvede lige, og æøå kommer rigtig retur ved submit og er i iso8859-1
FF 3.0/linux (og med LANG iso8859-1)

på en anden PC med FF 3.5 linux ubuntu 9.10, så ser det også ud til at
blive iso8859-1 efter submit.


> Via javascript kopierer jeg indholdet fra editobjectdata2 til editobject2,
> og der er editobject2 pludselig blevet til utf-8.
>
> Kigger man på eksempler med meta:
> <http://w-o-p-r.dk/tips/javascript/paste.textarea.meta.html>
> som har samme indhold, så bliver div'en ikke opfattet som utf-8.

denne virker også og giver iso-8859-1 hos mig med FF 3.0/linux



Prøv evt. med FF på andre PC.
Jeg har ikke prøvet på Windows,så måske FF / windows har en bug, eller
noget obskur opsætning.


Stig Johansen (23-11-2009)
Kommentar
Fra : Stig Johansen


Dato : 23-11-09 21:28

Frank Damgaard wrote:

> Prøv evt. med FF på andre PC.

Jeg prøvede lige af installere FF på en anden PC, og der bliver det ikke til
utf-8.

> Jeg har ikke prøvet på Windows,så måske FF / windows har en bug, eller
> noget obskur opsætning.

Et eller andet er der, og det mærkelig er, at nu viser FF det rigtigt igen,
så nu kan jeg ikke genskabe fejlen mere.

Det er muligvis en eller ande mærkelig kombination af omstændigheder, der
udløser fejlen.

Når jeg udvikler på de her ting, har jeg adskillige vinduer åbne med flere
tabs i, så hvilket vindue/tab, der har startet det, ved jeg ikke.

Men da det kan ske(igen?), så er det nok bedst at sætte meta/charset.

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408186
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste