הורדה (שמירה) של מטלות תלמידים כקובץ זיפ ZIP (מוודל 2 וגם 19)

הורדה (שמירה) של מטלות תלמידים כקובץ זיפ ZIP (מוודל 2 וגם 19)

על ידי Nadav Kavalerchik בתאריך
מספר תגובות: 3

לידיעת ציבור המשתמשים:

מבוא קצר על ZIP , עברית, וינדוס ומוודל...

זיפ הוא תקן/פטנט כיווץ ישן. לא היה UNICODE כאשר הוא הומצא/התחילו להשתמש בו.
בקיצור (מאוד) אם מכווצים ב WINDOWS XP ופותחים ב WINDOWS XP אז העברית נראת תקין כיוון שהם משתמשים בטריק קידוד פנימי של LATIN1 אשר מתעלם מהשפה ושומר את הקודים של האותיות. מוזר אבל עובד. ב WINDOWS 7 קיים מצב תאימות המעביר את מערכת ההפעלה ל UNICODE (בלוח הבקרה) עוזר במצבים מסויימים אחר משבש את העבודה באחרים. לא הייתי ממליץ על זה. (רק למקצוענים!)

כאשר מתחילים לעבוד עם תקנים בינלאומיים ... כגון UNICODE ... הבעיות צפות עצוב

מערכת ההפעלה של השרת CentOS לינוקס פועלת ב UNICODE (האמת, גם אם זה היה שרת WINDOWS SEVER זה היה אותו דבר. הבעיה בתחנות עבודה XP).  והיא מכווצת את ה זיפים בקידוד UTF-8 . לפחות, מנסה. שהרי Unicode לא נתמך ב ZIP אלא אם כן הוא עבר שיפוץ מיוחד (PATCH)
והזיפ של WINDOWS XP מנסה לפתוח את זה בקידוד LATIN1 או WINDOWS-1255 או ISO-8859-8
באף מקרה הוא לא מצליח ומקבלים ??????????? (סימניי שאלה)

בעבר הרחוק, לפני מספר שנים, פותח תיקון לתוכנה ZIP אשר מאפשר טריק של שימוש בעברית.
אבל זה אומר שכל משתמשים WINDOWS בישראל יצטרכו להוריד את הגירסה המסויימת הזו למחשב שלהם במקום ה ZIP שיש להם.
אני לא רואה את זה קורה.

ידידינו בחברת ZEND (רמת גן, ישראל) אשר המציאו ומפתחים את שפתPHP מנסים למצוא פתרון. זה לא יהיה מיידי. בטח יקח להם זמן. אם בכלל...
https://bugs.php.net/bug.php?id=53948
https://bugs.php.net/bug.php?id=51929

גם במוודל HQ מודעים לבעייה (לא רק בעברית):
http://tracker.moodle.org/browse/MDL-24928

לעניינינו (כלומר, "למחר בבוקר")
כדאי להמיר את האותיות בעברית לאנגלית. א > A , ב > B , ג > G ...
בעזרת השינוי (הקטן) הבא בקוד:

שימו לב!!! ההתייחסות כן היא למוודל 2

בקובץ :

 /moodle/lib/filestorage/zip_archive.php
בסוף הפונקציה:
public function add_file_from_pathname($localname, $pathname) {
ממש לפני השורה:
return $this->za->addFile($pathname, $localname );

יש להוסיף:
        $textlib = textlib_get_instance();
        $localname  = $textlib->specialtoascii($localname );

שתי השורות החדשות הללו, ימירו את האותיות בעברית לאנגלית
ואז השמות של הקבצים יהיו דיי קריאים
לפחות עד שימצא מתרון סביר

מקווה שהייתי ברור

לשיקולכם
חיוך
בתגובה ל: Nadav Kavalerchik

תשובה ל: הורדה (שמירה) של מטלות תלמידים כקובץ זיפ ZIP (מוודל 2 וגם 19)

על ידי Miki Alliel בתאריך
תמונה של Translators

הי נדב

שאלה בהקשר זה,

האם במוודל 2 כרגע ללא שינויים בקוד:

1 ) שמעלים קובץ רגיל עם שם עברי , הוא מציג אותו נכון? האם צריך את השורה :

$CFG->unicodecleanfilename = true;

2) שמעלים קובץ זיפ של וינדוס למוודל 2 מה קורה בדיוק? האם זה תלוי אם שם הקובץ בעברית או אם הקבצים שבתוכו בעברית מה קורה בשני המקרים נכון להיום?

תודה

בתגובה ל: Miki Alliel

תשובה ל: הורדה (שמירה) של מטלות תלמידים כקובץ זיפ ZIP (מוודל 2 וגם 19)

על ידי Nadav Kavalerchik בתאריך

1. אין צורך בזה, יותר.

2. אם מעלים קובץ זיפ לשם פיתחה שלו בתוך מערכת מוודל 2 , אז יש להעלות עם שמות באנגלית.

כיוון שמנגנון הזיפ שפותח את הקבצים לא יודע להתמודד על עברית.

אם מעלים את הקובץ לשם שימוש כמשאב עבור התלמידים, אשר יורידו ויפתחו אותו על מחשב עם מערכת הפעלה וינדוס, אז אין בעיה.

בתגובה ל: Nadav Kavalerchik

תשובה ל: הורדה (שמירה) של מטלות תלמידים כקובץ זיפ ZIP (מוודל 2 וגם 19)

על ידי Miki Alliel בתאריך
תמונה של Translators

2. כלומר עדיין יש בעיה לפרוס קבצים עם שמות בעברית (שמכווצים בזיפ) בתוך המוודל? נכון?