מחולל קידוד לטלפון חלונות 7 (וסילברלייט)

14 במרץ 2012

תגובה אחת

אני רוצה לקחת הפסקה בסדרת הפוסטים שלי על טלפון חלונות 7 כדי לשתף איתכם כלי מדהים שנתקלתי בו במהלך המחקר והפיתוח שלי לפלטפורמה.

כמפתחים בעברית, אחת הבעיות הקשות ביותר שתתקלו בה בעת גישה למידע מהרשת היא שהרבה מהמידע בעברית מקודד בקידוד “Windows-1255”. ב- #C ‘רגיל’ זאת לא בעיה גדולה (אני ממליץ לקרוא את הפוסט הבא של שלמה גולדברג) אבל ב- Silverlight זה לא עובד כי WebClient לא כולל את השיטה Add ל- Headers, וגם אם כן – המחלקה Encoding כוללת רק את UTF8 ו- Unicode, וכל נסיון לקרוא לקידוד עם קוד אחר פשוט לא מזוהה על ידי המערכת.

אחרי חיפוש קל באינטרנט מצאתי כלי שמאפשר לכם לחולל מחלקה עצמאית שמרחיבה את Encoding לשפה שתבחרו – ובמקרה הזה, עברית. ניסיתי אותו והוא עובד נהדר!

לכלי קוראים SL Encoding Generator והשימוש בו פשוט להחריד:

image

פשוט מכניסים את קוד השפה שרוצים (אצלינו זה 1255), שם המחלקה וכו’, מעתיקים את הקוד שנוצר לתוך מחלקה משלו, ומגדירים אותה בתור הקידוד המבוקש, לדוגמא באוביקט WebClient:

WebClient wClient = new WebClient();

CustomEncoding myEncoding = new CustomEncoding();

wClient.Encoding = myEncoding;

wClient.DownloadStringAsync(articleUri);

כך העמוד מראש יורד עם הקידוד הנכון, והטקסט המתקבל (e.result) מופיע בעברית תקינה לחלוטין.

מומלץ ביותר!

להורדה: Silverlight Text Encoding Class Generator

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

תגובה אחת

  1. גיא בורשטיין18 במרץ 2012 ב 15:49

    מעולה, לא הכרתי!

    הגב