שלח תשובה

זירת השאלות

550
צפיות
11
תשובות

בעייה בהזנת נתונים ל DB

,‏ 27 במאי, 2004

בכל הטפסים והדפים באתר אותו אני בונה אין בעיה בהזנה ובקליטת נתונים מה DB, הכל עובד כמו שצריך… והעברית נראית תקינה….
יש לי קובץ אב אשר כל הדפים מכילים אותו והוא מכיל גם את קידוד העברית עבור ה VBS

הבעיה הינה בטפסים אשר משלבים גם UPLOAD, תוך שימוש באובייקט ASP UPLOAD.
הקובץ עולה בסדר, נוספת עוד שורה בטבלה הרלוונטית ב DB, אלא שהכל מופיע כ סימני שאלה, גם ב DB וגם ב הצגת הנתונים….

למישהו רעיון?

דני

תגיות:

11 תשובות

  1. ניר טייב הגיב:

    קידוד
    שים את זה בראש הדף

    <%@ codepage=1255 %>

  2. דני דורי הגיב:

    תודה על התגובה, אבל את זה כבר שמתי.
    מה שמוזר זה שכאשר אני מוריד את הקידוד עברית, הכל נראה ג'יבריש חוץ מהנתונים שהוזנו באמצעות טפסים שיש בהם גם UPLOAD לקבצים.

    תודה על התגובה….

  3. דני דורי הגיב:

    כן…
    יכול להיות שזה קשור לזה שבטופס אני בעצם משגר את הנתונים בשיטה אחרת (בינארית??? או שאני מבלבל….)?

    תודה…
    דני

  4. ניר טייב הגיב:

    ושאתה מקבל את התונים הבינאריים
    אתה משתמש באובייקט העלאה או ב-REQUEST

    Request.Form("title")

    OR

    objUpload.Form("title")

  5. דני דורי הגיב:

    באובייקט ההעלאה
    הוא לא נותן לי להשתמש ב REQUEST….
    אני מקבל הודעת שגיאה…

  6. ניר טייב הגיב:

    אי אפשר ע"י REQUEST (שכחתי)
    אתה יכול להעלות את הקוד של העמוד?

  7. דני דורי הגיב:

    בוודאי ושוב, המון תודה…


    <%
    Function Encode(st)
    Dim iu, p, ch
    for iu = 1 to len(st)
    p = mid(st,iu,1)
    ch = asc(p)
    if ch < 224 or ch > 250 then p = Server.HtmlEncode(p)
    Encode = Encode & p
    next
    Encode = replace(Encode,"'","'")
    End Function

    Set Upload = Server.CreateObject("Persits.Upload.1")
    upload.OverwriteFiles=true
    upload.SaveVirtual "/"
    For Each File in Upload.Files
    fileType=right(file.path,3)
    name=Right(file.path,Len(file.path)-InstrRev(file.path,""))
    Next

    if fileType = "com" or fileType = "bat" or fileType = "pif" or fileType = "exe" or filetype = "vbs" or fileType = "htm" or fileType = "mht" or fileType = "asp" or fileType = "aspx" or fileType = "xhtml" or fileType = "js" or fileType = "svg" or fileType = "xml" then
    upload.DeleteFile server.MapPath("/")&name

    else

    Name1 = Upload.Form("Name")
    URL = Upload.Form("URL")
    text = Upload.Form("Text")

    Set rs = server.CreateObject("ADODB.Connection")
    sql="UPDATE Personality SET URL ='" & URL & "',"
    SQL=SQL & "Name ='" & Name1 & "',"
    SQL=SQL & "text ='" & encode(text) & "' WHERE id=1"
    rs.Open vcssDSN,3,3
    rs.Execute SQL
    rs.Close
    Set rs = nothing
    end if

    Response.Redirect ("STGadminFSO.asp?name="&name)

    %>

    זה החלק הרלוונטי, הקובץ כולו מכיל גם את
    ההכלה של קובץ האב אשר מכיל את הקידוד לעברית

  8. ניר טייב הגיב:

    שים גם בשליפה וגם בהכנסה את הקידוד

  9. אוריקס הגיב:

    כך:
    אתה צריך להצפין את הנתונים בשליחה:

    onsubmit="Name.value = escape(Name.value);
    URL.value = escape(URL.value);
    Text.value = escape(Text.value);">

    ואז לעשות ההפך בקבלת הדף:


    <%
    Function Encode(st)
    Dim iu, p, ch
    for iu = 1 to len(st)
    p = mid(st,iu,1)
    ch = asc(p)
    if ch < 224 or ch > 250 then p = Server.HtmlEncode(p)
    Encode = Encode & p
    next
    Encode = replace(Encode,"'","'")
    End Function

    Set Upload = Server.CreateObject("Persits.Upload.1")
    upload.OverwriteFiles=true
    upload.SaveVirtual "/"
    For Each File in Upload.Files
    fileType=right(file.path,3)
    name=Right(file.path,Len(file.path)-InstrRev(file.path,""))
    Next

    if fileType = "com" or fileType = "bat" or fileType = "pif" or fileType = "exe" or filetype = "vbs" or fileType = "htm" or fileType = "mht" or fileType = "asp" or fileType = "aspx" or fileType = "xhtml" or fileType = "js" or fileType = "svg" or fileType = "xml" then
    upload.DeleteFile server.MapPath("/")&name

    else
    Name1 = unescape(Upload.Form("Name"))
    URL = unescape(Upload.Form("URL"))
    text = unescape(Upload.Form("Text"))

    Set rs = server.CreateObject("ADODB.Connection")
    sql="UPDATE Personality SET URL ='" & URL & "',"
    SQL=SQL & "Name ='" & Name1 & "',"
    SQL=SQL & "text ='" & encode(text) & "' WHERE id=1"
    rs.Open vcssDSN,3,3
    rs.Execute SQL
    rs.Close
    Set rs = nothing
    end if

    Response.Redirect ("STGadminFSO.asp?name="&name)

  10. דני דורי הגיב:

    המון תודה
    אני אנסה היום בערב…

    ולניר, שוב תודה על הנסיון לעזור…

    דני

שלח תשובה