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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  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
              • דף הבית
              • קטגוריות
              • פוסטים אחרונים
              • משתמשים
              • חיפוש
              • חוקי הפורום