Forums
This topic is locked
Replace %A0, %A20 with space
Posted 05 Jul 2003 08:47:00
1
has voted
05 Jul 2003 08:47:00 Dave Desormeaux posted:
Please help!!When I pass URL data to a detail page, my spaces are being converted to symbols %A0.
This is the code in the reference page:
<A HREF="datepics.asp?<%= MM_keepURL & MM_joinChar(MM_keepURL) & "Date=" & fncFmtDate(rsDates.Fields.Item("Date"


When I pass it to the detail page, I get this in the URL window:
localhost/datepics.asp?Date=October,%A02002
I just want to get rid of the %20 and replace it with a space. I've tried using ascii characters (eg. "%B, %Y"

Thanks!!!!
Note: I am using a javascript function to format the date to MM/YYYY. This is that code:
<%
Function fncGetDayOrdinal( _
byVal intDay _
)
' Accepts a day of the month as an integer and returns the
' appropriate suffix
Dim strOrd
Select Case intDay
Case 1, 21, 31
strOrd = "st"
Case 2, 22
strOrd = "nd"
Case 3, 23
strOrd = "rd"
Case Else
strOrd = "th"
End Select
fncGetDayOrdinal = strOrd
End Function ' fncGetDayOrdinal
Function fncFmtDate( _
byVal strDate, _
byRef strFormat _
)
' Accepts strDate as a valid date/time,
' strFormat as the output template.
' The function finds each item in the
' template and replaces it with the
' relevant information extracted from strDate
' Template items (example)
' %m Month as a decimal (02)
' %B Full month name (February)
' %b Abbreviated month name (Feb )
' %d Day of the month (23)
' %O Ordinal of day of month (eg st or rd or nd)
' %j Day of the year (54)
' %Y Year with century (1998)
' %y Year without century (98)
' %w Weekday as integer (0 is Sunday)
' %a Abbreviated day name (Fri)
' %A Weekday Name (Friday)
' %H Hour in 24 hour format (24)
' %h Hour in 12 hour format (12)
' %N Minute as an integer (01)
' %n Minute as optional if minute <> 0
' %S Second as an integer (55)
' %P AM/PM Indicator (PM)
On Error Resume Next
Dim intPosItem
Dim int12HourPart
Dim str24HourPart
Dim strMinutePart
Dim strSecondPart
Dim strAMPM
' Insert Month Numbers
strFormat = Replace(strFormat, "%m", _
DatePart("m", strDate), 1, -1, vbBinaryCompare)
' Insert non-Abbreviated Month Names
strFormat = Replace(strFormat, "%B", _
MonthName(DatePart("m", strDate), _
False), 1, -1, vbBinaryCompare)
' Insert Abbreviated Month Names
strFormat = Replace(strFormat, "%b", _
MonthName(DatePart("m", strDate), _
True), 1, -1, vbBinaryCompare)
' Insert Day Of Month
strFormat = Replace(strFormat, "%d", _
DatePart("d",strDate), 1, _
-1, vbBinaryCompare)
' Insert Day of Month Ordinal (eg st, th, or rd)
strFormat = Replace(strFormat, "%O", _
fncGetDayOrdinal(Day(strDate)), _
1, -1, vbBinaryCompare)
' Insert Day of Year
strFormat = Replace(strFormat, "%j", _
DatePart("y",strDate), 1, _
-1, vbBinaryCompare)
' Insert Long Year (4 digit)
strFormat = Replace(strFormat, "%Y", _
DatePart("yyyy",strDate), 1, _
-1, vbBinaryCompare)
' Insert Short Year (2 digit)
strFormat = Replace(strFormat, "%y", _
Right(DatePart("yyyy",strDate),2), _
1, -1, vbBinaryCompare)
' Insert Weekday as Integer (eg 0 = Sunday)
strFormat = Replace(strFormat, "%w", _
DatePart("w",strDate,1), 1, _
-1, vbBinaryCompare)
' Insert Abbreviated Weekday Name (eg Sun)
strFormat = Replace(strFormat, "%a", _
WeekDayName(DatePart("w",strDate,1),True), 1, _
-1, vbBinaryCompare)
' Insert non-Abbreviated Weekday Name
strFormat = Replace(strFormat, "%A", _
WeekDayName(DatePart("w",strDate,1),False), 1, _
-1, vbBinaryCompare)
' Insert Hour in 24hr format
str24HourPart = DatePart("h",strDate)
If Len(str24HourPart) < 2 then str24HourPart = "0" & _
str24HourPart
strFormat = Replace(strFormat, "%H", str24HourPart, 1, _
-1, vbBinaryCompare)
' Insert Hour in 12hr format
int12HourPart = DatePart("h",strDate) Mod 12
If int12HourPart = 0 then int12HourPart = 12
strFormat = Replace(strFormat, "%h", int12HourPart, 1, _
-1, vbBinaryCompare)
' Insert Minutes
strMinutePart = DatePart("n",strDate)
If Len(strMinutePart) < 2 then _
strMinutePart = "0" & strMinutePart
strFormat = Replace(strFormat, "%N", strMinutePart, _
1, -1, vbBinaryCompare)
' Insert Optional Minutes
If CInt(strMinutePart) = 0 then
strFormat = Replace(strFormat, "%n", "", 1, _
-1, vbBinaryCompare)
Else
If CInt(strMinutePart) < 10 then _
strMinutePart = "0" & strMinutePart
strMinutePart = ":" & strMinutePart
strFormat = Replace(strFormat, "%n", strMinutePart, _
1, -1, vbBinaryCompare)
End if
' Insert Seconds
strSecondPart = DatePart("s",strDate)
If Len(strSecondPart) < 2 then _
strSecondPart = "0" & strSecondPart
strFormat = Replace(strFormat, "%S", strSecondPart, 1, _
-1, vbBinaryCompare)
' Insert AM/PM indicator
If DatePart("h",strDate) >= 12 then
strAMPM = "PM"
Else
strAMPM = "AM"
End If
strFormat = Replace(strFormat, "%P", strAMPM, 1, _
-1, vbBinaryCompare)
fncFmtDate = strFormat
'If there is an error output its value
If err.Number <> 0 then
Response.Clear
Response.Write "ERROR " & err.Number & _
": fmcFmtDate - " & err.Description
Response.Flush
Response.End
End if
End Function ' fncFmtDate
%><font color=red></font id=red><font color=black></font id=black>
Replies
Replied 08 Jul 2003 14:40:30
08 Jul 2003 14:40:30 David Behan replied:
Those symbols are used to eliminate spaces and particular symbols from being put in the address bar. When you request them back into a variable, they return to what they should be. Why do you want to change them?
Look at the address of this page even:
www.dmxzone.com/forum/post.asp?method=TopicQuote&TOPIC_ID=24153&FORUM_ID=3&CAT_ID=2&Forum_Title=Dreamweaver+UltraDev&Topic_Title=Replace+%25A0%2C+%25A20+with+space
but if you were to request the forum title like so:
<font color=red>topic_title = Request.QueryString("Topic_Title"
Response.Write("topic_title"
</font id=red>
you would get it back like so:
<font color=red>Replace %A0, %A20 with space</font id=red>
instead of:
<font color=red>Replace+%25A0%2C+%25A20+with+space</font id=red>
Regards,
Dave
________________________
WinXP : IIS 5.1 : StudioMX : ASP : VBScript
www.dynamic.ie
Edited by - beano on 08 Jul 2003 14:41:18
Look at the address of this page even:
www.dmxzone.com/forum/post.asp?method=TopicQuote&TOPIC_ID=24153&FORUM_ID=3&CAT_ID=2&Forum_Title=Dreamweaver+UltraDev&Topic_Title=Replace+%25A0%2C+%25A20+with+space
but if you were to request the forum title like so:
<font color=red>topic_title = Request.QueryString("Topic_Title"

Response.Write("topic_title"

you would get it back like so:
<font color=red>Replace %A0, %A20 with space</font id=red>
instead of:
<font color=red>Replace+%25A0%2C+%25A20+with+space</font id=red>
Regards,
Dave
________________________
WinXP : IIS 5.1 : StudioMX : ASP : VBScript
www.dynamic.ie
Edited by - beano on 08 Jul 2003 14:41:18
Replied 16 Jul 2003 18:13:06
16 Jul 2003 18:13:06 Dave Desormeaux replied:
You are absoutely correct.
Once you pointed this out, I realized it was really a question of differentiating between how the date was displayed on the page VS what was passed in a Query to the DB.
If you're interested, here's the page that was giving me problems, but now works fine:
www.d-squared.com/adventures/displaydates.asp
Thanks for the reply - it helped!!
Dave
Once you pointed this out, I realized it was really a question of differentiating between how the date was displayed on the page VS what was passed in a Query to the DB.
If you're interested, here's the page that was giving me problems, but now works fine:
www.d-squared.com/adventures/displaydates.asp
Thanks for the reply - it helped!!
Dave