דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. איפה - בקוד המצורף (json2csv)- צריך להמיר לutf8?

איפה - בקוד המצורף (json2csv)- צריך להמיר לutf8?

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 3 כותבים 173 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי
    #1

    בקוד הזה יורד קובץ csv אבל המילים בעברית לא מקודדות טוב.

    איפה צריך להוסיף את הקידוד?

    תודה רבה.

    dovidD תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      השיב לchagold ב נערך לאחרונה על ידי
      #2

      @chagold זה בדיוק הפוך.
      הקובץ הוא בutf8 וזה מצויין,
      אלא שתוכנת אקסל בברירת מחדל לא מצפה לקובץ UTF-8 אלא לANSI כלומר Windows-1255.
      כיון שהבעיה באקסל, זה מאה אחוז תקין, רק צריך לפתוח את זה באקסל עם קידוד. הכי פשוט זה בכרטסת נתונים, לייבא קובץ טקסט, שמה בברירת מחדל נדמה לי זה UTF8.

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      chagoldC תגובה 1 תגובה אחרונה
      1
      • chagoldC מנותק
        chagoldC מנותק
        chagold
        השיב לdovid ב נערך לאחרונה על ידי
        #3

        @dovid אני צריך שאנשים יכולים להוריד קובץ מהאתר בלי שיסתבך להם. אז עדיף לעשות קידוד ANSI? וא"כ מה הקוד?
        תודה.

        dovidD תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          השיב לchagold ב נערך לאחרונה על ידי dovid
          #4

          מצאתי כאן שבאמת שטעיתי, אקסל מכבד UTF-8 בתנאי שיש בהתחלה כותרת BOM (לא מבין מה כתבתי, ראה פה https://en.wikipedia.org/wiki/Byte_order_mark).
          אז הנה הקוד מתוקן (שורה 21):

                  var csvFile = '\ufeff';
          

          דמו https://jsfiddle.net/70qymkdw/1/

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          chagoldC תגובה 1 תגובה אחרונה
          2
          • chagoldC מנותק
            chagoldC מנותק
            chagold
            השיב לdovid ב נערך לאחרונה על ידי
            #5
            פוסט זה נמחק!
            yossizY תגובה 1 תגובה אחרונה
            0
            • yossizY מנותק
              yossizY מנותק
              yossiz
              השיב לchagold ב נערך לאחרונה על ידי yossiz
              #6

              למי שתוהה, תו ה-BOM (ובשמה המלא BYTE ORDER MARK) נועד במקור לציין את סדר הבתים שהקובץ משתמש בו כדי להציג מספרים בני 16 או 32 ביטים.
              בקידודים UTF-16 ו-UTF-32 אבני הבסיס הם מספרים בני 16 ו-32 ביטים לכן התו הזה נחוץ (בהעדר מידע מבחוץ) בשביל לזהות את סדר הבתים בו הקובץ משתמש.
              בנוסף, התו שימושי כדי להבחין בין UTF-16 ל-UTF-32 כי ה-BOM מיוצג בצורה שונה בשני הקידודים
              בקידוד UTF-8, אבן הבסיס הוא מספר בן 8 ביטים, שכל המעבדים מייצגים בצורה זהה, לכן אין צורך ב-BOM עבור זיהוי סדר הבתים, (וגם אפשר בקלות לזהות אם קובץ הוא UTF-8 תקין בלי צורך להשתמש ב-BOM), אבל זה יכול להשתמש כסוג של רמז שמדובר (בסבירות גבוה) בקובץ יוניקוד ולא ascii או ansi או משהו אחר
              מייקרוסופט אימצו לעצמם נוהג שלפיה כל קובץ בלי BOM מזוהה כ-ANSI, ועם BOM זה מזוהה כיוניקוד
              לפעמים כשאין צורך ב-BOM זה יכול גם להזיק אם התוכנה מצפה לקבל ASCII ובלי ה-BOM בטקסט פשוט הרי UTF-8 הוא גם ASCII תקין, וה-BOM מקלקל
              במקרה של קובץ CSV עבור אקסל שכולל בתוכו תווים מחוץ לטווח ה-ASCII ה-BOM רק עוזר
              הנ"ל מה שהבנתי מתוך הכתבה בויקיפדיה ש@dovid ציין, ומתוך ה-FAQ הזה באתר הבית של תקן יוניקוד

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              תגובה 1 תגובה אחרונה
              7

              בא תתחבר לדף היומי!
              • התחברות

              • אין לך חשבון עדיין? הרשמה

              • התחברו או הירשמו כדי לחפש.
              • פוסט ראשון
                פוסט אחרון
              0
              • דף הבית
              • קטגוריות
              • פוסטים אחרונים
              • משתמשים
              • חיפוש
              • חוקי הפורום