Avatar billede lightbrain Nybegynder
01. juli 2002 - 20:37 Der er 28 kommentarer og
1 løsning

Mellemrum bliver til +

Hej

Pest eller kolara!

Hvis jeg bruger URLEncode, bliver alle mellemrum til "+", mens hvis jeg bruger HTMLEncode, bliver "-tegnet og andre til mærkelige symboler.

Hvad gør så jeg?

response.write "gruppe[1][" & i & "]=new artikel (" & rs("artikelnr") & "," & "unescape(""" & server.HTMLEncode( rs("titel") ) &""")" & "," & "unescape(""" & server.HTMLEncode( rs("forfatter") ) &""")" & ", " & "unescape(""" & server.HTMLEncode( rs("beskrivelse") ) &""")" & ", " & "unescape(""" & server.HTMLEncode( rs("filnavn")) &""")" & ", " & rs("emnenr") & ", " & rs("niveau") & ");"
Avatar billede skovtrold Nybegynder
01. juli 2002 - 20:46 #1
Skal du bare udskrive det, eller skal du bruge det i en url?
Avatar billede lightbrain Nybegynder
01. juli 2002 - 20:48 #2
Det skal bare udskrives.
Avatar billede skovtrold Nybegynder
01. juli 2002 - 20:52 #3
Jamen, så er der vel ingen grund til at bruge hverken UrlEncode eller HtmlEncode?
Avatar billede skovtrold Nybegynder
01. juli 2002 - 20:58 #4
Er det kode du skal have udskrevet?
Ligesom her på eksperten?
Avatar billede lightbrain Nybegynder
01. juli 2002 - 21:11 #5
Jammen, hvis ikke jeg skriver URLEncode læser browseren fejlagtigt specialtegn som kode, hvorved der opstår fejl.
Avatar billede skovtrold Nybegynder
01. juli 2002 - 21:13 #6
Hvad er det f.eks. for specialtegn?
Avatar billede lightbrain Nybegynder
01. juli 2002 - 21:16 #7
!"#¤%&/()=? osv. specielt "-tegnet.... Titel: De "vilde" unge
Avatar billede skovtrold Nybegynder
01. juli 2002 - 21:19 #8
Dem ville jeg "replace" når de blev gemt i databasen.
Eks.

tekst = "de vilde unge"
tekst = replace(tekst,""","'")
Avatar billede lightbrain Nybegynder
01. juli 2002 - 21:24 #9
Det kan man selvfølgelig, men findes der ikke en eller anden encoder, som kan klare det. URLEncoder kan næsten klare det, den kan bare ikke klare mellemrum.
Avatar billede lightbrain Nybegynder
01. juli 2002 - 21:33 #10
Nej, nu har jeg den. Kan man ikke bare lave alle +'erne om til mellemrum. Hvordan gør man det?
Avatar billede skovtrold Nybegynder
01. juli 2002 - 21:36 #11
replace(tekst,"+"," ")
Avatar billede lightbrain Nybegynder
01. juli 2002 - 21:41 #12
Ok, men hvordan får man denne replace-sætning bygget samme med min kode:

response.write "gruppe[1][" & i & "]=new artikel (" & rs("artikelnr") & "," & "unescape(""" & server.HTMLEncode( rs("titel") ) &""")" & "," & "unescape(""" & server.HTMLEncode( rs("forfatter") ) &""")" & ", " & "unescape(""" & server.HTMLEncode( rs("beskrivelse") ) &""")" & ", " & "unescape(""" & server.HTMLEncode( rs("filnavn")) &""")" & ", " & rs("emnenr") & ", " & rs("niveau") & ");"
Avatar billede skovtrold Nybegynder
01. juli 2002 - 21:44 #13
response.write "gruppe[1][" & i & "]=new artikel (" & replace(rs("artikelnr"),"+"," ") & "," & "unescape(""" & server.HTMLEncode( replace(rs("titel"),"+"," ") ) &""")" & "," & "unescape(""" & server.HTMLEncode( replace(rs("forfatter"),"+"," ") ) &""")" & ", " & "unescape(""" & server.HTMLEncode( replace(rs("beskrivelse"),"+"," ") ) &""")" & ", " & "unescape(""" & server.HTMLEncode( replace(rs("filnavn"),"+"," ")) &""")" & ", " & replace(rs("emnenr"),"+"," ") & ", " & replace(rs("niveau"),"+"," ") & ");"
Avatar billede lightbrain Nybegynder
01. juli 2002 - 22:01 #14
Der må være noget galt med >>replace(rs("forfatter"),"+"," ")<< fordi den erstatter ikke + til mellemrum.
Avatar billede lightbrain Nybegynder
01. juli 2002 - 22:03 #15
Jo, den gør - min fejl.
Avatar billede skovtrold Nybegynder
01. juli 2002 - 22:07 #16
Hvordan ser det ud nu?
Avatar billede lightbrain Nybegynder
01. juli 2002 - 22:09 #17
Tjaaaa, den er lige glad med, at jeg bruger URLEncode på den, fordi nu bliver bliver "-tegnet til &quot;

  response.write "gruppe[1][" & i & "]=new artikel (" & rs("artikelnr") & "," & "unescape(""" & server.HTMLEncode( replace(rs("titel"),"+"," ") ) &""")" & "," & "unescape(""" & server.HTMLEncode( replace(rs("forfatter"),"+"," ") ) &""")" & ", " & "unescape(""" & server.HTMLEncode( replace(rs("beskrivelse"),"+"," ") ) &""")" & ", " & "unescape(""" & server.HTMLEncode( replace(rs("filnavn"),"+"," ") ) &""")" & ", " & rs("emnenr") & ", " & rs("niveau") & ");"
Avatar billede skovtrold Nybegynder
01. juli 2002 - 22:10 #18
Jamen, det er pga HtmlEncode
Avatar billede skovtrold Nybegynder
01. juli 2002 - 22:10 #19
Prøv at fjerne dem.
Avatar billede lightbrain Nybegynder
01. juli 2002 - 22:11 #20
How, nej... vente lige lidt... jeg bruger jo... HTMLEncode..... (Jeg vender tilbage)
Avatar billede lightbrain Nybegynder
01. juli 2002 - 22:21 #21
Konklusion:

Hvis jeg skriver følgende, erstattes +'erne ikke, men tilgengæld bliver "-tegnet vist, som det skal.

response.write "gruppe[1][" & i & "]=new artikel (" & rs("artikelnr") & "," & "unescape(""" & server.URLEncode( replace(rs("titel"),"+"," ") ) &""")" & "," & "unescape(""" & server.URLEncode( replace(rs("forfatter"),"+"," ") ) &""")" & ", " & "unescape(""" & server.URLEncode( replace(rs("beskrivelse"),"+"," ") ) &""")" & ", " & "unescape(""" & server.URLEncode( replace(rs("filnavn"),"+"," ") ) &""")" & ", " & rs("emnenr") & ", " & rs("niveau") & ");"

Hvis jeg skriver følgende, erstattes +'et med et mellemrum, men tilgengæld bliver "-tegnet til &quot:

response.write "gruppe[1][" & i & "]=new artikel (" & rs("artikelnr") & "," & "unescape(""" & server.HTMLEncode( replace(rs("titel"),"+"," ") ) &""")" & "," & "unescape(""" & server.HTMLEncode( replace(rs("forfatter"),"+"," ") ) &""")" & ", " & "unescape(""" & server.HTMLEncode( replace(rs("beskrivelse"),"+"," ") ) &""")" & ", " & "unescape(""" & server.HTMLEncode( replace(rs("filnavn"),"+"," ") ) &""")" & ", " & rs("emnenr") & ", " & rs("niveau") & ");"
Avatar billede lightbrain Nybegynder
01. juli 2002 - 22:23 #22
Med andre ord; det ene udelukker det andet = pest eller kolara
Avatar billede lightbrain Nybegynder
01. juli 2002 - 22:26 #23
Det er som om at replace-sætningen totalt bliver ignoreret.
Avatar billede skovtrold Nybegynder
01. juli 2002 - 22:26 #24
Hvad hvis du bruger den første medtode, men flytter replace udenfor URLEncode?

response.write "gruppe[1][" & i & "]=new artikel (" & rs("artikelnr") & "," & "unescape(""" & replace(server.URLEncode( rs("titel")),"+"," ") &""")" & "," & "unescape(""" & replace(server.URLEncode(rs("forfatter")),"+"," ") &""")" & ", " & "unescape(""" & replace(server.URLEncode(rs("beskrivelse")),"+"," ") &""")" & ", " & "unescape(""" & replace(server.URLEncode(rs("filnavn")),"+"," ") &""")" & ", " & rs("emnenr") & ", " & rs("niveau") & ");"
Avatar billede skovtrold Nybegynder
01. juli 2002 - 22:27 #25
Ja, den bliver ignoreret - min fejl. For når replace køres, er der endnu ikke indsat +.
Avatar billede skovtrold Nybegynder
01. juli 2002 - 22:28 #26
Nu håber jeg at paranteserne er rigtigt indsat i koden herover.
Avatar billede lightbrain Nybegynder
01. juli 2002 - 22:31 #27
Det virker!
Avatar billede lightbrain Nybegynder
01. juli 2002 - 22:40 #28
Mange tak for hjælpen :-)
Avatar billede skovtrold Nybegynder
01. juli 2002 - 22:41 #29
Selv tak :-)
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
Kurser inden for grundlæggende programmering

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