Avatar billede steen_e Nybegynder
21. oktober 2001 - 17:08 Der er 13 kommentarer og
1 løsning

Apostroffer og anførselstegn

Jeg er ved at gemme tekst af typen \"text/html\" i Access, og pludselig slår det mig, at hvis det er apostroffer (plings) \' eller anførselstegn \" i teksten kan det gå galt, når jeg skal hente teksten ud igen i ASP. F.eks. går det galt at sætte en streng, der indeholder en apostrof, ind i en SQL-sætning.

Er der nogen standard for at encode/escape anførselstegn og apostroffer?
Avatar billede steen_e Nybegynder
21. oktober 2001 - 17:09 #1
...glemte lige at tilføje:

Jeg kan selvfølgelig bare replace \" med " før jeg sætter det ind i databasen, men:

<font color=&quot;#00FF00&quot;>

...det går ligesom ikke!
Avatar billede egede Nybegynder
21. oktober 2001 - 17:10 #2
Avatar billede steen_e Nybegynder
21. oktober 2001 - 17:38 #3
Ja, jo, det er jo meget godt, men hvad så med anførselstegn?
Avatar billede egede Nybegynder
21. oktober 2001 - 18:07 #4
Er det html-kode du gemmer i databasen?
Avatar billede steen_e Nybegynder
21. oktober 2001 - 18:41 #5
Ja.
Avatar billede egede Nybegynder
21. oktober 2001 - 18:44 #6
Hvis jeg var dig ville jeg gemme det i en tekstfil i stedet og så bruge include til at hente filen... Ellers kan du vise mig ldit kode, for jeg kan ikke helt så løsning/problem ;-)
Avatar billede steen_e Nybegynder
21. oktober 2001 - 19:24 #7
F.eks. vil jeg gerne gemme følgende streng i databasen:

<span class=\"forfatter\">af Gunnar \"Nu\" Hansen</span>

Hvis jeg f.eks. vil hive dette ud af databasen, og tildele et inputfelt indholdet som værdi, kommer der til at stå:

<input name=\"forfatter\" value=\"<span class=\"forfatter\">af Gunnar \"Nu\" Hansen</span>\">

Det resulterer naturligvis i en alvorlig HTML-fejl. Den første løsning, der sprang mig i øjnene var at lave \" om til &quot; med en replace-linje, f.eks.

forfatter = replace(forfatter,\"\"\"\",\"&quot;\")

Men så får jeg jo

<span class=&quot;forfatter&quot;>af Gunnar &quot;Nu&quot; Hansen</span>

-når jeg hiver den ud af databasen... :-(
Avatar billede egede Nybegynder
21. oktober 2001 - 19:29 #8
jamen fejlen kommer jo fordi at der er en > før <input> skal være afsluttet, skal man så ikke fjerne <span> i stedet for?
Avatar billede steen_e Nybegynder
21. oktober 2001 - 19:58 #9
Jamen hvis jeg nu gerne vil have gemt

<span class=\"forfatter\">af Gunnar \"Nu\" Hansen</span>

i databasen, kan jeg jo ikke bare fjerne span-tagget! Der må være en smart måde at gøre det på!
Avatar billede egede Nybegynder
21. oktober 2001 - 20:05 #10
replace <span class=\"forfatter> og </span> med ingenting, kan det gå?
Avatar billede steen_e Nybegynder
21. oktober 2001 - 21:34 #11
...jamen så forsvinder den jo?!? Den *skal* være der!
Avatar billede egede Nybegynder
21. oktober 2001 - 21:37 #12
jamen når indholdet skal stå en input boks...
Avatar billede steen_e Nybegynder
21. oktober 2001 - 22:20 #13
Ahhh - nu begynder det at dæmre... :-) I input-boksene skal der selvfølgelig ikke være html-koder. Så dér kan jeg roligt konvertere \" til &quot;. Så har jeg noget html-tekst, men det editerer jeg i et <textarea>, og der må jo gerne være \" i... Og så er det selvfølgelig ikke noget problem...

Du havde ret hele tiden - 1000 tak - points coming ur way....
Avatar billede egede Nybegynder
21. oktober 2001 - 22:21 #14
hehe, mange tak for point ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester