(משימה דיי שיגרתית של קליטת טקסט מהמשתמש והצגתו על המסך) בד"כ הקוד יכיל אלמט HTML מסוג INPUT נניח TEXT והמטרה היא פשוטה להציג בדפדפן טקסט שהקליד הלקוח בתיבת TEXT קוד אופייני נראה כך :
<%= request("myInputBox") %>
ננסה להקליד קצת טקסט ונראה שאכן הקוד עובד. אבל אם נקליד את הטקסט
באופן לא מפתיע נגלה שלא מוצג כלום בדפדפן הצצה ב-VIEW SOURCE תגלה לנו ש
קיים אבל הדפדפן התייחס אליו כמו לכל תג HTML אחר.
תרחיש נוסף
(במשתנה אנחנו מחזיקים מחרוזת כלשהיא ורוצים להציג אותה בתיבת TEXT בד"כ לתורך עריכה וכו...) קוד אופייני נראה כך :
<% myStr= "Hello World" %>
>
בטח כולם נתקלו בזה התשובה שהערך בתיבה הוא HELLO בלבד מענה אופייני לבעיה זו הוא להוסיף גרש או גרשיים בצורה זו :
<% myStr= "Hello World" %>
ואכן הבעיה נפתרת למקרה הפרטי של רווח בטקסט אבל מה יקרה אם יהיו גרשיים בטקסט כמו כאן :
<% myStr= "Hello""World" %>
אולי אולי אפילו הסימן "גדול מ" כמו כאן :
<% myStr= "Hello>World" %>
אני מקווה שכבר ברור שישנם תווים רבים שאנחנו רוצים רק להציג אותם ולא להתייחס אליהם כתווי בקרה וכו... לצורך פתרון הבעיה יש לבצע HTMLENCODE למחרוזת בטרם שליחתה לדפדפן. בצורה הבאה:
<% myStr= "Hello>World" %>
הערה חשובה
לפעמים Server.htmlencode משבש טקסט עיברי זהו באג ידוע ומיקרוסופט ממליצים להתקין את העידכונים האחרונים בשרת מניסיון אישי לא תמיד עוזר. במאמר הבא urlencode כמה למה ומתי ..