2008-11-18, 10:29
  #1
Medlem
Hejsan!
Nu sitter jag och bygger en sida i ASP som har en nyhetsfunktion som självklart går via en databas. Min fråga är, hur gör jag för att byta ut alla å,ä,ö imot ä etc? Tack på förhand

Edit: tänkte att jag slänger in lite mer info som kanske kan hjälpa.

1. Det är en access databas
2. Så här är sidan uppbyggd:

Adminsida:
Detta är formuläret där du lägger till nyheter.
När du skickar detta sparas det ner i databasen.
(det är alltså redan här jag vill ha en replace funktion)
Här är koden till sidan:
Kod:
<!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>
<link rel="stylesheet" type="text/css" href="../css/mall1.css">




<style type="text/css">

#return    {
  float:right;
  margin-top:200px;
  margin-right:30px;
           }

</style>


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

<body bgcolor="#724b2e">

<div id="return"><font face="Impact" color="white">Tryck på länken för att
 ta bort hela posten från databasen</font><br><iframe width="400px" height="400px" name="returnframe" src="returns.asp"></iframe></div>
</font>

<font color="#FFFFFF" face="myriad pro">
<form id="form" name="form" method="post" action="start_check.asp">
<img width="218" height="60" src="bilder/headerStart.png" /><br>
<br>
<br>
<br>

Rubrik:<br />
<input type="text" name="startRubrik" id="startRubirk" class="textfield"/> <br />

Text:<br />
<br />
<textarea name="startText" id="startText" cols="40" rows="10" class="textfield2"></textarea> <br />

<input type="submit" name="skicka" id="skicka" value="Lägg till" />
<input type="reset" value="Rensa fälten"></font>
</form>
</body>
</html>


Nyhetssidan:
Det är här det laddas upp från datatbasen och failar ordentligt med å,ä och ö.
Här är koden till sidan:
Kod:
<%Option Explicit%>



<html><link rel="stylesheet" type="text/css" href="mall11.css">
<head>
<title>Start</title>

<link rel="stylesheet" type="text/css" href="mall1.css">
</head>
<body bgcolor="#FFFFFF" leftmargin="20">
<br>
<br>
    

<% Dim koppling, pekare, sql

set koppling = server.createobject("ADODB.connection")



koppling.open("provider=Microsoft.Jet.Oledb.4.0; data source="&server.MapPath("datab/pardb.mdb"))

sql = "SELECT ID, startRubrik, startText  FROM tblStart Order BY startdate desc;"

set pekare = koppling.execute(sql)

	if pekare.eof then
		response.write("Ett fel upstog")
	else
%>


    <font face="myriad pro" size="2"><b><%=pekare("startRubrik")%></font></b><br />
        <font face="myriad pro" size="2"><%=pekare("startText")%></font><br>

<br>
<% end if %>









</body>
</html>
__________________
Senast redigerad av omberg 2008-11-18 kl. 11:06.
Citera
2008-11-18, 16:05
  #2
Medlem
Hm, varför inte bara filtrera bort å,ä,ö vid outputen från databasen? För jag antar att din Access-databas klarar av att svälja å,ä och ö utan krusiduller och utgår då från att din output-sida ligger på en server som kör t ex utf-8 som charset.

I vilket fall som helst så räcker en replace, men det är alltid lättare om man skapar den som en återanvändbar funktion, speciellt om du senare kommer att använda fler forms. Jag skulle nog föreslå följande:

Först en funktion:
Function replaceStuff(myForm)
strTemp = myForm
strTemp = Replace(strTemp,"å","&aring;")
strTemp = Replace(strTemp,"ä","&auml;")
strTemp = Replace(strTemp,"ö","&ouml;")
'// ...och även för versaler:
strTemp = Replace(strTemp,"Å","&Aring;")
strTemp = Replace(strTemp,"Ä","&Auml;")
strTemp = Replace(strTemp,"Ö",&Auml;")
myForm = strTemp
End Function

...och sen kallar du på funktionen med hjälp av t ex:
startText = replaceStuff(Request.Form("startText"))

...eller vid outputen:
startText = replaceStuff(pekare("startText"))
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in