webForumDet fria alternativet

Ändra encoding mitt i bodyn?

4 svar · 416 visningar · startad av tovelainen

tovelainenMedlem sedan mars 2003137 inlägg
#1

Hej
jag håller på ett formulär men för att åäö-bokstäverna ska funka i slutänden,
måste formuläret kodas med utf-8

Koden till formuläret ska en kund ha att lägga in i ett publiceringsverktyg.
Hela sajten är kodad med charset=iso-8859-1
Och när formuläret nu processas så följer inte åäö med som de ska.

Nån som vet om jag i min html-kod som sträcker sig från <form> till </form>
dvs bara allt mellan form-taggarna - kan ändra så att encoding tillfälligtvis är utf-8 i stället?

Tack på förhand om nån kan hjälpa :-)

spangoMedlem sedan juni 20008 205 inlägg
#2

Går inte att ha flera kodningar i samma fil, nej. Beskriv problemet noggrannare så kan nog någon komma med en riktig lösning istället.

jarvkloMedlem sedan juli 20013 378 inlägg
#3

Hmm...

Eftersom <form accept-charset="..." ... > är lite buggig i t.ex. MSIE har du kanske inte så mycket annat val än att acceptera det faktum att innehållet från formuläret alltid skickas som ISO-8859-1 och utnyttja det genom att ta hand om konvertering av tecknen på serversidan innan du skriver ner dem i databasen / skickar dem vidare till tjänsten som skall ta emot dem/ släpper ut dem för visning på webbsidan - typ. :bire

tovelainenMedlem sedan mars 2003137 inlägg
#4

Hej Spango
nä det där med 2 kodningar lät för bra för att kunna funka...

Alltså:
Jag ska skriva ett formulär som skickar info rätt in i endatabas. Infon måste komma in kodad som utf-8 för att generera våra nordiska bokstäver på rätt sätt.

Formuläret gör jag i html med diverse javascrips som validerar mm.
Jag ger koden till en kompis som lägger in den i sitt publiceringssytem.
Jag har ingen kontroll på head- och body-tag.

I kompisens grund-template som min kod sen läggs in i, är enkodingen i head denna:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

För att mitt formulär ska funka ända in i databasen (som jag inte heller har någon kontroll över) måste enkodingen i head vara:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

... nu kommer jag att tänka på att en lösning kankse vore att jag ger kompisen ett stycke kod som lägger en iframe i hans publiceringssystem. i iframen visar jag sedan min utf-8-kodade sida som ligger nån helt annan stans...

Men det vore skönt att slippa iframe.
Kommer du på nåt sätt?
Tackar ödmjukast i så fall!

jarvkloMedlem sedan juli 20013 378 inlägg
#5

tovelainen skrev:

Jag ska skriva ett formulär som skickar info rätt in i endatabas. Infon måste komma in kodad som utf-8 för att generera våra nordiska bokstäver på rätt sätt.

Hmm... har du eller din kompis kontroll över programkoden som tar emot resultatet från formuläret och skriver in det i databasen? - Jag menar det är hyfsat enkelt att översätta från ISO-8859-1 till UTF-8 i de flesta serverside-språk, och någonstans kontrollerar ni väl ändå de inkommande värdena även "serverside" innan ni skriver in dem i databastabellerna? ;)

258 ms totalt · 3 externa anrop · v20260731065814-full.30151723
127 ms — hämta forumlista (db)
130 ms — hämta statistik (db)
124 ms — hämta tråd, inlägg och bilagor (db)