Nine MVP's Blog

18/09/2006

[Asp.net] HtmlEncode กับ UrlEncode

Filed under: ลากมาตอบ — Nine MVP @ 12:03 am
ปุจฉา:
อยากให้ช่วยอธิบายคร่าวๆ เกี่ยวกับ Server.HtmlEncode กับ Server.UrlEncode ต่างกันยังงัย เอามาใช้ตอนไหน ตัวอย่าง จะดีมากครับ


วิสัชชนา
:

Server.HtmlEncode

เอาไว้แปลงค่า String ที่ต้องการให้เป็น HTML Code ครับ
แต่ใน ASP.NET ผมมอง code ที่เป็น HTML encode ตัวหนังสือไม่ออกเลย นอกจากเป็น พวกสัญลักษณ์จะเห็นได้
TextBox1.Text = Server.HtmlEncode("http://www.myweb.com?search=TT&T")

จะได้ http://www.myweb.com?search=TT&amp;T < เห็นได้ว่า & ถูก encode เป็น &amp;

และใช้ Server.HtmlDecode เพื่อแปลงชุดสตริงกลับมา
การใช้งาน
ตัวนี้ยังไม่แน่ใจเท่าไหร่ ว่าเพื่ออะไรนะ รอผู้ใช้งานเชี่ยว ๆ มาตอบ


ส่วน Server.UrlEncode

เอาไว้ Encode String ที่ต้องการให้เป็น URL ที่ระบบเข้าใจได้ เช่น

TextBox2.Text = "http://www.myweb.com?search=&quot; & Server.UrlEncode("TT&T")

จะได้ http://www.myweb.com?search=TT%26T < เห็นได้ว่า & ถูก Encode เป็น %26

และใช้ Server.UrlEncode เพื่อแปลงชุดสตริงกลับมา

การใช้งาน

หากมีสัญลักษณ์จำเพาะใน QueryString อาจจะมีปัญหาในการรับข้อมูลพลาดได้
ดังตัวอย่างที่ยกมาให้ดู
ที่เกี่ยวกับ & หากส่งไปเป็น http://www.myweb.com?search=TT&T จะพบว่าเรารับค่าได้เพียง TT แต่ &T จะหายไป
เนื่องจาก & เป็นตัว spilter ของ QueryString แต่ละตัว
เช่น http://www.myweb.com?ID=5&Name=suichai เราจึงแก้ด้วยการ Encode

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: