איך נראה קידוד כפול
לפני
׳³ג€˜׳³ֲ©׳³ג€˜׳³ֳ— ׳³ג€¢׳³ג€˜׳³ֲ©׳³ג„¢׳³ֲ©׳³ג„¢ ׳³ג„¢׳³ֲ© ׳³ֲ¡׳³ג‚×׳³ֲ¨׳³ג„¢ ׳³ֲ¡׳³ג„¢׳³ג‚×׳³ג€¢׳³ֲ¨׳³ֳ— ׳³ג€¢׳³ֲ¢׳³ג„¢׳³ֳ—׳³ג€¢׳³ֲ ׳³ג€¢׳³ֳ—
אחרי
בשבת ובשישי יש ספרי סיפורת ועיתונות
איך זה קורה
ב-UTF-8 כל אות עברית תופסת שני בתים. כשתוכנה קוראת את הבתים האלה כ-Windows-1255, כל אות הופכת לשני תווים, למשל ׳© במקום ש. אם התוכנה שומרת את התוצאה שוב כ-UTF-8, כל אחד מהתווים האלה מתפצל לבתים חדשים. כשזה קורה פעם שנייה, הטקסט מתארך פי כמה והופך לבלתי קריא לגמרי.
הסיבות הנפוצות לסבב השני:
- מעבירים מסד נתונים לשרת חדש, וגיבוי MySQL או WordPress כבר היה פגום קודם.
- פותחים CSV באקסל, שומרים, ואחר כך מייבאים אותו שוב בקידוד שגוי – ראו עברית משובשת באקסל.
- סקריפט, API או תוסף ממיר טקסט שכבר נמצא ב-UTF-8.
הדוגמאות הנפוצות במבט אחד
קידוד כפול
׳³ֲ© ׳³ג€˜ ׳³ֳ— ׳³ֲ¨ ׳³ג„¢ ׳³ג€¢
נכון
ש ב ת ר י ו
בקידוד משולש המחרוזת מתארכת עוד יותר. Mojibuster מתקן אוטומטית גם את הרמה הזו, עד שלוש רמות.
למה חיפוש והחלפה לא מספיקים
בחיפוש והחלפה ידנית צריך להכיר כל דפוס – אחד לכל אות ולכל רמה. קל לפספס אחד, או להחליף בטעות טקסט תקין. Mojibuster פועל אחרת: הוא מחשב את הבתים המקוריים ובודק אם התוצאה היא UTF-8 תקין. רק אז הקטע מוחלף.
- מדביקים את הטקסט או גוררים את הקובץ לתיבה שלמעלה.
- Mojibuster מזהה כמה פעמים הטקסט שובש ומתקן עד שלוש רמות.
- תחת מה השתנה? רואים כל מקום שתוקן. אחר כך מעתיקים את התוצאה או מורידים את הקובץ.
טקסט תקין נשאר ללא שינוי – גם כשבאותו קובץ מעורבות שורות תקינות ופגומות. שיבוש בשלב אחד, כמו ׳©׳œ׳•׳, מוסבר במה זה מוג'יבייק.
שאלות נפוצות
איך מזהים קידוד כפול?
לפי רצפים ארוכים עם ׳³ ועם סימנים כמו ֲ ו-ג€. שיבוש חד-שלבי קצר יותר, למשל ׳©׳œ׳•׳. אם אחרי תיקון ראשון עדיין נשארים תווים משובשים, היו כמה רמות.
כמה רמות Mojibuster יכול לתקן?
עד שלוש. יותר מזה כמעט אף פעם לא קורה בפועל.
מה אם רק חלק מהטקסט בקידוד כפול?
אין בעיה. Mojibuster מתקן כל מקום בנפרד ולא נוגע בחלקים התקינים.
אפשר לבדוק את התוצאה לפני ההעתקה?
כן. תחת מה השתנה? Mojibuster מציג כל מקום שתוקן עם מספר השורה – עוד לפני שמעתיקים או מורידים.