webForumDet fria alternativet

ÅÄÖ här också.

ASP

10 svar · 1 929 visningar · startad av Rob Tjotj

Medlem sedan okt. 200591 inlägg
Frågan#1

Hej!

Jag har alltså en sida kodad i UTF-8
Datat som kommer från databasen verkar vara kodad i ISO 8859-1
Hur göra?
Måste all data göras om eller kan jag hämta den till rätt?
I koden står det åäö men visas som �

Medlem sedan juni 20019 519 inlägg
#2

vilken databas typ är det? har du sparat dina ASP dokument som UTF-8 och inte bara angett det i din charset?

Medlem sedan okt. 200591 inlägg
#3

Mest troligt är de sparade i ISO 8859-1
Andra tabeller fungerar så då är de väl sparade i UTF-8

Medlem sedan juni 20019 519 inlägg
#4

prova att lägga in:

<%@codepage=65001%>
<%
Response.CodePage    = 65001
Response.CharSet     = "UTF-8"
%>

högst upp på dina asp sidor.

Medlem sedan okt. 200591 inlägg
#5

Nu funkar nästan allt men...
Jag förstår inte riktigt. :q

Jag har följande på alla sidor

<%@codepage=65001%>
<%
Response.CodePage = 65001
Response.CharSet = "UTF-8"
%>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Om jag lägger in åäöÅÄÖ via följande kod:

TEXTIN = replace(request.Form("Texten"),"'","''")
SQLString = "INSERT INTO databas(Text) VALUES('" & TEXTIN & "')"

Så blir det åäöÅÄÖ i databasen och det som sen publiceras på hemsidan.

Om jag lägger in åäöÅÄÖ via följande kod:

TEXTIN = server.HTMLEncode(replace(request.Form("texten"),"'","''"))
SQLString = "INSERT INTO databas(Text) VALUES ('" & TEXTIN & "')"

Så blir det åäöÅÄÖ i databasen och åäöÅÄÖ när det presenteras.

Men sen har jag en sida med filuppladdning som följer:

TextIn = server.HTMLEncode(replace(Upload.Form("text"),"'","''"))
SQLString = "INSERT INTO databas (Text) VALUES('" & TextIn & "')"

Så blir det åäöÃ&#8230Ã&#8222Ã... i databasen och åäöÅÄÖ när det presenteras.

Och samma sak igen men utan Htmlencode

TextIn = replace(Upload.Form("text"),"'","''")
SQLString = "INSERT INTO databas (Text) VALUES('" & TextIn & "')"

Så blir det åäöÅÄÖ både i databasen och det som presenteras.

Hur gör jag för att lösa det sista med upload.form?

Kan någon förklara detta med språk så att till och med jag :r förstår?

Medlem sedan okt. 200591 inlägg
#6

uppdaterat föregående inlägg idag
dvs. läs inlägg 2013-08-20, 19:38

Medlem sedan juni 20019 519 inlägg
#7

du kör ju HTMLEncode på texten, inte konstigt att det bli det, sen upload värdet är kanske så att du har ett dokument som inte är utf-8 encodat.

Medlem sedan okt. 200591 inlägg
#8

Jag har ju

<%@codepage=65001%>
<%
Response.CodePage = 65001
Response.CharSet = "UTF-8"
%>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

I toppen på alla dokument och när jag tittar på kodningen av dokumentet så är det UTF-8
Varför blir det åäöÅÄÖ?

Medlem sedan juni 20019 519 inlägg
#9

skickar du till en annan sida? Hur ser formuläret ut? om du skickar det till en annan sida än din aktuella sida som har charset=utf-8 så måste du ha det på den sidan också.

Medlem sedan okt. 200591 inlägg
#10

Det ser likadant ut på båda sidor.

<%@codepage=65001%>
<%
Response.CodePage = 65001
Response.CharSet = "UTF-8"
%>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Medlem sedan okt. 200591 inlägg
#11

Nu hittade jag lösningen.
Det var Persits.upload som spökade.
Jag fick lägga till

Upload.CodePage = 65001

Därefter fungerade det-

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