problem after upgrading to v.2

 
Post new topic   Reply to topic    Aprelium Forum Index -> Classic ASP
View previous topic :: View next topic  
Author Message
gingel
-


Joined: 09 Apr 2004
Posts: 25

PostPosted: Fri Apr 29, 2005 1:22 pm    Post subject: problem after upgrading to v.2 Reply with quote

when im writting this address:
http://127.0.0.1/new_s/cat.asp?category=ילדים

i get an error:
ASPEngine- Error 'ASP 0126 : 80004005'

Include file not found

cat.asp

The Include file 'C:\new_s\top.asp' was not found.

but when i'm replacing it to:
http://127.0.0.1/new_s/cat.asp?category=kids

it's working good.

the problem is that after upgrading it does not support hebrew anymore in the address box.
Back to top View user's profile Send private message ICQ Number
aprelium
-


Joined: 22 Mar 2002
Posts: 6800

PostPosted: Fri Apr 29, 2005 4:08 pm    Post subject: Re: problem after upgrading to v.2 Reply with quote

gingel,

All depends on how you handle hebrew text in the ASP code. The new version uses UTF-8 encoding (Unicode) in URLs so you should probably convert in your ASP code the value to the proper encoding your application uses.

Can you post here the ASP code if it is not too long?
_________________
Support Team
Aprelium - http://www.aprelium.com
Back to top View user's profile Send private message Send e-mail
gingel
-


Joined: 09 Apr 2004
Posts: 25

PostPosted: Fri Apr 29, 2005 11:10 pm    Post subject: Re: problem after upgrading to v.2 Reply with quote

aprelium wrote:
gingel,

All depends on how you handle hebrew text in the ASP code. The new version uses UTF-8 encoding (Unicode) in URLs so you should probably convert in your ASP code the value to the proper encoding your application uses.

Can you post here the ASP code if it is not too long?



here is the code:

<%pageTitle = "בסגנון אחר - ספריית די וי די"%>
<!--#include virtual = "Adovbs.inc" -->
<%
set all_dataDB = Server.CreateObject("ADODB.Connection")
all_dataDB.Open "DSN=movies"
%>
<%
If Request.QueryString("page") = "" Then
page = 1
Else
page = Request.QueryString("page")
End If

category = Request.QueryString("category")

sql = "select * from movies where category='"&category&"' and ((p_date + 30) - Now()) < 30 order by p_date desc"

Set result = Server.CreateObject("ADODB.RecordSet")
result.CursorLocation = 3 'adUseClient
result.CursorType = 3 'adOpenStatic
result.ActiveConnection = all_dataDB
result.Open Sql

result.PageSize = 10
result.CacheSize = result.PageSize
pagecount = result.PageCount
recordcount = result.RecordCount

If CInt(page) > CInt(pagecount) Then page = pagecount
If CInt(page) <= 0 Then page = 1

If recordcount > 0 Then
result.AbsolutePage = page
intStart = result.AbsolutePosition
If CInt(page) = CInt(pagecount) Then
intFinish = recordcount
Else
intFinish = intStart + (result.PageSize - 1)
End if %>
<tr>
<td style="border-left: 1px solid #1F22BF;border-bottom: 1px solid #1F22BF;">
<table border=0 width=80% height=100% width=35% align="center" cellspacing=0 cellpadding=3>
<tr>
<td colspan=2 align="center" valign="top" height=7% >
<font style="font-size:14pt;color:#4D4DC3;font-family:arial;"><b><%=category%></b></font>
</td>
</tr>
<% bgcolor="#4597F3"
For intRecord = 1 to result.PageSize
if bgcolor_n = "#4597F3" then
bgcolor="#4C50F2"
else
bgcolor="#4597F3"
end if
%>
<tr>
<td width=90% valign="top">
<table border=0 align="center" cellpadding=2 width=100%>
<tr>
<Td bgcolor="<%=bgcolor%>" dir=rtl align="right" valign="center" width=90% style="border-style:solid;border-width:1px;"><b><a style="font-size:10pt;color:white;font-family:arial;TEXT-DECORATION: none;" href="movie.asp?id=<%=result("id")%>"><%=result("name_heb")%></a></b></td>
</tR>
<td dir=rtl><font style="font-size:10pt;font-family:arial;"><b>עם:</b></font> <font style="font-size:11pt;font-family:arial;"><%=result("actors")%></font></tD>
</tr>
</table>
</td>
<td valign="top">
<table border=0 align="center" width=100%>
<tr>
<td valign="top"><a href="movie.asp?id=<%=result("id")%>"><img src="<%=result("image")%>" border=0 width=50 height=60></a></td>
</tr>
</table>
</td>
</tr>
<% result.MoveNext
bgcolor_n=bgcolor
If result.EOF Then Exit for
next
%>
<tr>
<td>
<table align="centeR"><tr>
<% for i= 1 to result.PageCount %>
<td align="center">
<a href="cat.asp?page=<%=i%>&category=<%=category%>"><%=i%></a>
</td>
<% Next %>
</tr></table>
<% end if

result.Close
set result = Nothing

all_dataDB.Close
set all_dataDB = Nothing
%>
</tr>

</table>
</td>


<!--#include virtual = "bottom.asp" -->
Back to top View user's profile Send private message ICQ Number
aprelium
-


Joined: 22 Mar 2002
Posts: 6800

PostPosted: Sat Apr 30, 2005 2:06 pm    Post subject: Re: problem after upgrading to v.2 Reply with quote

gingel,

The issue is very interesting and we spent 2 hours yesterday looking for information about it.

Using non-ASCII characters in the query string is not allowed by the URL standard (RFC 1738 - http://www.faqs.org/rfcs/rfc1738.html).

But every browser processes the non-ASCII characters in the query as it wants: FireFox transforms them to UTF-8 and escapes them (transforms them to %XX%YY sequences). This is the most correct behavior.

Internet Explorer messes completely with them. It will transmit them to using the default charset of your operating system. So if you are using a Hebrew enabled Windows, your code will work. But if you use IE on another localized Windows (or an English version), the Hebrew characters will be transformed to ??? (yes, questions marks!!!).

To avoid any problem, you should not use non-ASCII characters in query strings. Or if you want to, you should escape them (%XX form) and unescape them later in your script.

The old version of Abyss Web Server was not Unicode enabled, so it was sending the characters without any verification. Since IE uses the default charset of your system and ASP uses the same, there was no problem (but you could experience a problem with FireFox with the same settings). The new version does some checks and sanitizes the URLs it receives: that's why the Hebrew characters are sliently dropped (they are using the wrong codes-charset).

If you want more adbice on how to fix this to make it work fine with any browser, please contact support@aprelium.com . We'll be glad helping.
_________________
Support Team
Aprelium - http://www.aprelium.com
Back to top View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    Aprelium Forum Index -> Classic ASP All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB phpBB Group