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?
utf-8 i formulär?
10 svar · 1 068 visningar · startad av nilleonline
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å?
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 å.
Använd attributet accept-charset på dina formulär:
<form method="POST" accept-charset="UTF-8" action="/page.asp">
...
</form>
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.
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?
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..
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.
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?
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