קודם בודקים את הקידוד
בפינה הימנית התחתונה של שורת המצב Notepad++ מציג איך הוא קורא כרגע את הקובץ, למשל UTF-8, UTF-8-BOM או ANSI. בתפריט Encoding יש שני סוגי פקודות שמתבלבלים ביניהם:
- ANSI, UTF-8, UTF-8-BOM (החלק העליון של התפריט): Notepad++ קורא מחדש את הבתים הקיימים בלי לשנות את הקובץ – זו הגדרת תצוגה בלבד.
- Convert to ANSI, Convert to UTF-8 … (החלק התחתון של התפריט): Notepad++ כותב את התווים בקידוד החדש. אחרי שמירה הקובץ משתנה.
מקרה 1: ×©×œ×•× במקום שלום
הקובץ שמור כ-UTF-8, אבל Notepad++ קורא אותו כ-ANSI. בחרו Encoding ← UTF-8 והתווים יופיעו נכון מיד. אל תמירו: ״Convert to UTF-8״ היה שומר את הג'יבריש ×©×œ×•× כתווים אמיתיים.
מקרה 2: xF9 או קוביות במקום עברית
הקובץ שמור ב-ANSI (Windows-1255) אבל נקרא כ-UTF-8. בחרו קודם Encoding ← Character sets ← Hebrew ← Windows-1255, כדי שהתווים יופיעו נכון, ואחר כך Convert to UTF-8. אחרי השמירה הקובץ הוא UTF-8. עוד על כך בהמרת Windows-1255 ל-UTF-8.
מקרה 3: הג'יבריש באמת בתוך הקובץ
אם Notepad++ עדיין מציג ×©×œ×•× כש-UTF-8 נבחר, הטקסט המשובש כבר נשמר. אז אף פקודת תפריט לא עוזרת באופן אמין – במיוחד כששורות תקינות ומשובשות מעורבות או כשהטקסט מקודד פעמיים. גררו את הקובץ ל-Mojibuster שלמעלה: הוא מתקן רק את המקומות המשובשים ומציג כל שינוי.
לפני
äúøâåí ðáã÷: ùìåí, úåãä, éøåùìéí, çéôä – äëåì ú÷éï.
אחרי
התרגום נבדק: שלום, תודה, ירושלים, חיפה – הכול תקין.
יוצרים קבצים חדשים תמיד ב-UTF-8
תחת Settings ← Preferences ← New Document הגדירו את הקידוד של קבצים חדשים ל-UTF-8. לקבצים שאקסל אמור לפתוח עדיף UTF-8-BOM – עוד באקסל והעברית. גם סקריפטים ל-Windows PowerShell 5.1 צריכים BOM, ראו PowerShell.
שאלות נפוצות
מה ההבדל בין UTF-8 ל-UTF-8-BOM?
שניהם שומרים את התווים באותו אופן. UTF-8-BOM כותב בנוסף שלושה בתים בלתי נראים בתחילת הקובץ, שמהם אקסל ותוכנות ישנות מזהות UTF-8.
למה Notepad++ לפעמים מזהה קידוד לא נכון?
קבצים בלי BOM לא מכילים מידע על הקידוד שלהם, ולכן Notepad++ צריך לנחש. בקבצים קצרים עם מעט תווים מיוחדים הוא טועה לעתים קרובות יותר.
אפשר להמיר כמה קבצים בבת אחת?
ב-Notepad++ רק עם מאקרו או תוספים. ב-Mojibuster זה קובץ אחרי קובץ – כל אחד מסתיים בשניות.