webForumDet fria alternativet

utf-8 i formulär?

ASPur ASP

10 svar · 1 068 visningar · startad av nilleonline

Medlem sedan sep. 2006119 inlägg
Frågan#1

Jag har problem i bloggen med å,ä,ö i komentarerna som blir skumma tecken "första världskriget". Jag använder FCKeditor när jag skriver som gör om å,ä,ö till ölj: . Så de visar rätt, men går det att lösa på ett enkelt sätt så att komentarerna sparas som utf i databasen?

Medlem sedan juni 20019 519 inlägg
#2
Response.CharSet = "UTF-8"

kanske?

Medlem sedan sep. 2006119 inlägg
#3

Använder redan det. Provade att spara om sidorna i utf också men de gjorde ingen skillnad. Ska jag ändra till utf i access också?

Medlem sedan sep. 2006119 inlägg
#4

Ingen som kan hjälpa mig lösa det? Jag har angett Response.CharSet = "UTF-8". När jag testar att redigera inläggen och ersätter åäö med kod så fungerar inte å.

Medlem sedan mars 20041 505 inlägg
#5

Använd attributet accept-charset på dina formulär:

<form method="POST" accept-charset="UTF-8" action="/page.asp">
...
</form>
Medlem sedan sep. 2006119 inlägg
#6

Troxy skrev:

Använd attributet accept-charset på dina formulär:

<form method="POST" accept-charset="UTF-8" action="/page.asp">
...
</form>

Det gjorde tyvärr ingen skilnad.

Medlem sedan sep. 2006119 inlägg
#7

ingen som vet hur jag löser det? Blir helt galen! jag har både ställt in utf-8 på:

Response.CharSet = "UTF-8"
och i <?xml version="1.0" encoding="utf-8"?>
men det hjälper inte. jag vet inte heller om det är så att det sparas fel tecken i databasen eller om det bara skrivs ut fel på sidan. Hur kollar jag hur det är sparat i databasen?

Medlem sedan sep. 2006119 inlägg
#8

Jag prövar att sätta:
Server.HTMLEncode("" & Request.Form("Name"))
Men hur skriver jag det på strängen som sätter in det i databasen?:

strSQL = "INSERT INTO comments (name, mail, url, comment, [date], ip, blogID, catID) values ('" & strNoname & "', '" & Request.Form("mail") & "', '" & Request.Form("url") & "', '" & strTekst & "', '" & Request.Form("date") & "', '" & Request.Form("ip") & "', '" & Request.Form("blogID") & "', '" & Request.Form("catID") & "')"

Eller är det hur texten sätts in i databasen jag ska ändra eller hur den plockas ut. Fattar ingenting av problemet..

Medlem sedan juni 20019 519 inlägg
#9

på samma sätt...:

strNoname = Server.HTMLEncode("" & strNoname)

Fast jag hade unvikit att spara "omformaterad" data som Encode gör trots allt. Det är inte det som användaren skrev in. Däremot när du presentera datan kan du använda dig av HTMLEncode.

Medlem sedan sep. 2006119 inlägg
#10

voigtann1 skrev:

på samma sätt...:

strNoname = Server.HTMLEncode("" & strNoname)

Fast jag hade unvikit att spara "omformaterad" data som Encode gör trots allt. Det är inte det som användaren skrev in. Däremot när du presentera datan kan du använda dig av HTMLEncode.

Såg nu att det redan var så när jag hämtar ut data ur databasen, och det hjälper inte. Så här skriver jag ut kommentarerna ur databasen:

<%
			Set rsComments = ObjConn.Execute("SELECT * FROM comments WHERE blogID = "& Request.QueryString("id") &" ORDER BY date")
			While not rsComments.EOF
			%>
<a href="<%=rsComments("url")%>"><%=Server.HTMLencode(rsComments("name"))%></a> | <%=rsComments("date")%>:
<div class="blog_comment"><p><%=Server.HTMLencode(rsComments("comment"))%></p></div>

Går det att göra på något annat sätt så man får rätt tecken?

Medlem sedan mars 20041 505 inlägg
#11

Det här borde hjälpa dig: http://www.asp-dev.com/main.asp?page=96
CodePage talar om vilket charset som ska användas för att avkoda "dynamiskt innehåll", bla. POST och GET.
CodePage-värdet för UTF-8 är 65001. Fler värden finns här: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/charsets/charset4.asp
Testa lägg följande kod längst upp på sidan som tar emot posten:

Session.CodePage = 65001
137 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)