webForumDet fria alternativet

Teckenkodningen funkar på en server, men inte en annan..

HTML & CSS

8 svar · 575 visningar · startad av bassebhu

Medlem sedan nov. 20016 480 inlägg
Frågan#1

Hej!

Jag kör en vanlig html-fil där jag angett utf-8 både i editorn för filen samt i koden med content. åäö visas rätt på min lokala apache-server och på mitt webbhotellskonto, men när jag laddar upp den på mitt bahnhofkonto så visas det bara Ã¥ ö etc. (om nu wF skriver ut dessa feltecken som jag ser dem när jag har postat detta hehe).

Det verkar som att bahnhof visar min fil med iso för om jag byter till utf-8 i webbläsaren så funkar det. Är det servern som är inställd på det och det inte går att ändra?

Jag kan inte köra php-filer eller sånt där så det går inte att göra någon sån funktion.

Vad göra? Måste byta till iso eller byta ut allt mot &auml.. och sånt?
Jag testade om jag kunde ändra teckenkodningen på filen via ftp, men jag hittade ingen sån funktion och när jag valde att editera serverfilen med min texteditor så står det att filen är utf-8 redan.

Tack!

Medlem sedan mars 20041 505 inlägg
#2

Skicka en länk till sidan (y)

Medlem sedan nov. 20016 480 inlägg
#3

e/hm. när jag har tankat upp filen och valt att visa den som utf-8 i ftp-programmet så ser man åäö korrekt i ftp-progets editor, men jag tvingades byta till att visa den som iso i transmit (ftp-programmet) för att se de luriga tecknen. Jag kunde därefter replacea dessa mot åäö och sen funkade det.

Svårt att beskriva, men jag löste det på ett fult sätt. Varför felet uppkommer är dock fortfarande oklart.

Medlem sedan nov. 2002830 inlägg
#4

Jag läste om detta problem på nätet som flera andra hadde. Många webbhotell har en override-inställning att de visar alla i ISO, oavsett filens teckenkodning, men att man kunde i php anropa en funktion:

http://www.phpwact.org/php/i18n/charsets Sök på "Strategy for Handing Character Encoding in PHP Applications" strax ovanför finns ett riktigt bökigt system för att fixa till det. Fast så kan man läsa vidare under den rubriken och få reda på lösningen.

Lösningen ligger i att man får definera sida för sida i princip för utf-8 i phpn.
Html:

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

PHP:

// Setting the Content-Type header with charset
header('Content-Type: text/html; charset=utf-8');

Fast jag rekommenderar ändå läsning i artikeln då den förklara utöver bara kod. Good luck :)

Medlem sedan nov. 20016 480 inlägg
#5

jag kan som sagt inte köra php på den servern...

Medlem sedan nov. 2002830 inlägg
#6

Jag kikade på testfilen som du la ut precis innan jag hann posta min text innan. åäö ser ju helt okej ut?

meta-taggen borde göra det mesta åt dig så länge du har sparat filen som utf-8...

Medlem sedan nov. 20016 480 inlägg
#7

ja, åäö såg först ok ut lokalt i webbläsaren, sen när jag laddade upp den till bahnhof så blev det fel (bara fel på den servern). jag öppnade filen med transmits editor och ersatte alla konstiga tecken med åäö. då funkade det som du såg.

det luriga är just att det bara händer till bahnhof.

Medlem sedan nov. 20016 480 inlägg
#8

hm, jag körde en validation på bahnhof-sidan och fick det här:

Character Encoding mismatch!

The character encoding specified in the HTTP header (iso-8859-1) is different from the value in the <meta> element (utf-8). I will use the value from the HTTP header (iso-8859-1) for this validation.

Hur ändrar jag HTTP header då?

Medlem sedan mars 20007 896 inlägg
#9

Med ett serverside språk, eller så får du prata med Banhof att ändra inställningarna på servern.

252 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)