locked
קידוד שורת כתובת בעברית (mvc) RRS feed

  • שאלה

  • שלום,

    אני מחפש פיתרון לנושא שורת כתובת בעברית www.MySite.com/עברית

    ב IE שורת הכתובת מופיעה כקידוד , לעמות זאת בפייר-פוקס\כרום, זה מופיע בעברית כמו צריך,

    תודה

    ואסף.

    יום שני 13 פברואר 2012 08:06

תשובות

  • * שמתי מים לקפה, הדלקתי את הקומקום... ובאתי לפורום לענות על כמה שאלות... סיימתי את הזמן שהקצבתי לפורום וחזרתי לקומקום רק כדי לגלות שבכלל הוא לא היה בחשמל :-(

    טוב אז יש לי עוד כמה שניות לענות :-)

    1. מקודד ופותח קידוד URL בעזרת JS פשוט (בצד הלקוח כמובן):
    http://meyerweb.com/eric/tools/dencoder/

    2. כל נושא הקידוד מנוהל בדוט נט במחלקה בשם HttpUtility

    ישנה מתודה UrlEncode עבור קידוד מטקסט ל URL ומתודה הפוכה לפתיחת הקידוד UrlDecode. כל קישור צריך לפי התקן להעביר מקודד ל URL וכל שימוש בקישור צריך לבצע על ידי פתיחת הקידוד
    http://msdn.microsoft.com/en-us/library/8409wd29.aspx

    הערה 1: אל תקודד את כל הכתובת אלא רק את העברית אם אתה חייב או את הערכים של משתנים
    הערה 2: העובדה שיש תקן לא חייבת לעניין אותך מפני שכל הדפדפן יתמכו גם בכתובת רגילה וזה הרבה יותר קל לפעמים. מה אכפת לך אם חלק יודעים לתרגם את הכתובת וחלק לא?!? למעשה יש לזה קשר קצת לאבטחה אבל זה נושא אחר

    הגיע הזמן לקפה של הבוקר...
    אני מקווה שזה יותר ברור כרגע :-)


    signature

    יום שלישי 14 פברואר 2012 07:44
    משיב

כל התגובות

  • העובדה שראים את זה מקודד לא אמורה לעשות בעיות בהפעלת התוכנה.

    כדאי שתפרט האם הבעיה שלך היא בעצם זה שהקידוד נראה לא טוב לעיני המשתמש או שזה מפריע להפעלת האתר.

    יום שני 13 פברואר 2012 22:44
  • על פי התקן כשעובדים בשיטת GET (כתובת URL) יש לעבוד תמיד בקידוד URL. דפדפן שועל עובד גם כן בקידוד URL אבל יודע להציג תרגום של הקידוד. אם תבדוק בתוכנות ניטור כמו FIDDLER תגלה שגם שועל וגם IE מעבירים את אותה כתובת כשאתה מנסה להתחבר לכתובת בעברית. כך שמה שאתה רואה כאמור זה רק "מראה עניים" ואין לכך משמעות.

    * אולי בגרסאות העתידיות מייקרוסופט יוסיפו פיצ'ר זה לנוחיות המשתמש

    * בכל מערכת אינטרנט עלייך לבצע קידוד URL של כתובת כדי להבטיח העברה נכונה שלה ופתיחת הקידוד כשאתה משתמש בנתון מהכתובת


    signature

    יום שלישי 14 פברואר 2012 05:32
    משיב
  • קודם כל תודה,

    אני רק מתיחס לעניין שזה לא נראה טוב לעיני המשתמש

    יום שלישי 14 פברואר 2012 07:25
  • הי,

    לא כל כך הבנתי את המשפט הזה :

    בכל מערכת אינטרנט עלייך לבצע קידוד URL של כתובת כדי להבטיח העברה נכונה שלה ופתיחת הקידוד כשאתה משתמש בנתון מהכתובת

    תודה.

    יום שלישי 14 פברואר 2012 07:27
  • * שמתי מים לקפה, הדלקתי את הקומקום... ובאתי לפורום לענות על כמה שאלות... סיימתי את הזמן שהקצבתי לפורום וחזרתי לקומקום רק כדי לגלות שבכלל הוא לא היה בחשמל :-(

    טוב אז יש לי עוד כמה שניות לענות :-)

    1. מקודד ופותח קידוד URL בעזרת JS פשוט (בצד הלקוח כמובן):
    http://meyerweb.com/eric/tools/dencoder/

    2. כל נושא הקידוד מנוהל בדוט נט במחלקה בשם HttpUtility

    ישנה מתודה UrlEncode עבור קידוד מטקסט ל URL ומתודה הפוכה לפתיחת הקידוד UrlDecode. כל קישור צריך לפי התקן להעביר מקודד ל URL וכל שימוש בקישור צריך לבצע על ידי פתיחת הקידוד
    http://msdn.microsoft.com/en-us/library/8409wd29.aspx

    הערה 1: אל תקודד את כל הכתובת אלא רק את העברית אם אתה חייב או את הערכים של משתנים
    הערה 2: העובדה שיש תקן לא חייבת לעניין אותך מפני שכל הדפדפן יתמכו גם בכתובת רגילה וזה הרבה יותר קל לפעמים. מה אכפת לך אם חלק יודעים לתרגם את הכתובת וחלק לא?!? למעשה יש לזה קשר קצת לאבטחה אבל זה נושא אחר

    הגיע הזמן לקפה של הבוקר...
    אני מקווה שזה יותר ברור כרגע :-)


    signature

    יום שלישי 14 פברואר 2012 07:44
    משיב
  • הערה שאינה קשורה לנושא השאלה - pituach תרגם את Firefox לשועל וכדאי לציין שהתרגום אינו נכון. מקור השם Firefox הוא למעשה בבעל החיים הנקרא בעברית פנדה אדומה

    http://en.wikipedia.org/wiki/History_of_Firefox

    http://www.holesinthenet.co.il/archives/32410


    Please mark posts as answers/helpful if it answers your question.
    Senior Consultant on WCF, ASP.NET, Siverlight, and Entity Framework. Author of Microsoft's Official WCF 4 Course. Co-author of the Microsoft HPC/Azure burst whitepaper.
    Visit my blog: http://blogs.microsoft.co.il/blogs/idof

    יום שלישי 14 פברואר 2012 08:07
    מנחה דיון
  • עידו, אם אני לא טועה ,היה פעם בראוזר כזה (פנדה)

    יום שלישי 14 פברואר 2012 10:38
  • אני אקח את ההמלצה שלך (זה גם נראה לי טוב לעצלנים) ואוותר על הקידוד, תודה על התשובה המפורטת,

    {אני מקווה שהקפה היה שווה את ההמתנה -:))

    יום שלישי 14 פברואר 2012 10:40
  • תמיד טוב ללמוד :-)

    אני חושב שזו פעם ראשונה שאני שומע שלא מדובר בשועל. בכל מקרה אני בטוח שכל המפתחים מכירים אותו בשם שועל. אני עובד עליו עוד מהתקופה שעבדתי באוניברסיטת ת"א על UNIX במערכות הפעלה IRIX6 ו Solaris ישן שאני לא זוכר את הגרסה לפני הרבה שנים... גם בתקופה ההיא השתמשנו בשם שועל (שרק התחיל) גם בחברת כל אנשי ה UNIX (שרובם מקהילות הקוד הפתוח וחלקם לוקחים חלק בפיתוח של השועל) :-)

    אני מקבל את הטעות (כאמור אכן לא ידעתי) אבל אני אמשיך להישתמש בשם המקובל בעיני בעברית וזה "שועל" ולא התרגום המילולי של שם החיה עליה נקרא השם המקורי :-)

    תודה על התיקון
    זו הערה חשובה לידע כללי.

    signature

    יום רביעי 15 פברואר 2012 07:12
    משיב
  • חשוב מאוד!!

    בשום אופן זו לא היתה ההמלצה שלי! אלו רק היו נקודות למחשבה ולהחלטה שלך

    אל תצטט אותי בטעות כמי שהמליץ על כך ושים לב שכתבתי גם את המשפט: "למעשה יש לזה קשר קצת לאבטחה אבל זה נושא אחר"

    * כמו תמיד אני טוען שיש לאפיין כל מצב ולבחור את הדרך המתאימה. מחשבה על זמן פיתוח זה חלק מהאפיון וחלק מהמשקל בלחירת דרך אחת על אחרת.

    ככלל אצבע ההמלצה היא דווקא כן לקודד ל URL אם עובדים בעברית ואם אפשר בכלל לא לעבוד עם URL בעברית


    signature

    יום רביעי 15 פברואר 2012 07:17
    משיב
  • ואם אפשר בכלל לא לעבוד עם URL בעברית - וזה בדיוק מה שעשיתי  -:)

    (מה הדליק לי נורה -נושא האבטחה, -וד"א אשמח לקרא הרחבה בנושא )

    יום רביעי 15 פברואר 2012 07:33
  • אתה מומזן לפתוח שירשור חדש אם זה מעניין ואפשר לדון בזה יותר (פשוט השירשור כאן כבר עמוס וזה כבר סטייה מהשאלה המקורית)

    כמובן שאני לא אשאיר אותך באוויר :-)

    בפיסקה אחת: שימוש ב URL מקוד מונע פעולות שונות כגון שימוש בתווים אסורים ובעייתיים דרכם ניתן ליצור פעולות זדוניות לפעמים. הדבר נכון הן בצד הדפדפן אם לא כיסו את הנושא (לא ידוע היום על באג פתוח בנושא זה בדפדפן שועל לידיעתי) ובעיקר צריך לזכור שכל מפתח יכול לפתח לעצמו דפדפן לצורך זה או אחר והוא עלול לא לכסות מקרים כאלה. זה לא אומר שמחר מישהו יעשה בזה שימוש אבל זה עוד פתח. הנקודה השנייה היא הזרקת שאילתות ששימושים בקידודים שונים רק עוזרים. יש לזכור שנתונים מועברים ברשת אל השרת בשיטת GET שהיא למעשה זהה לשימוש ב URL. אבל אם תקודד כל אינפורמציה הסיכוי לבעיה אולי תרד. לדוגמה אפילו רווח פשוט בקישור URL יכול לעיתים ליצור בעיה.

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


    signature

    יום רביעי 15 פברואר 2012 17:53
    משיב