עבור לתוכן
Magic DevHub

Recommended Posts

שלום לכולם,

לצורך העברת נתונים באמצעות httppost למערכת המשרד להגנת הסביבה, עלי להעביר פרטים עבריים משדות במערכת שלי (ansi או oem או יוניקוד - בכל המקרים מקבל אותה תוצאה) ל UTF-8.

לצורך כך אני מבצע שתי פעולות:

1. ביצוע oem2ansi על השדה המקורי,

2. בעת ביצוע פקודת ה Post (אני משתמש ב httpcall) אני מבצע ansitoutf8 על השדה המכיל את כל הנתונים המועברים, שכולל גם את הנתונים העבריים (אני שולח קובץ JSON).

מתברר שכל הפרטים העבריים מתקבלים היטב, למעט שלוש האותיות צ' , ר'  ו- ת'. אם נשלח שדה הכולל אחת האותיות האלה - המערכת הקולטת דוחה את הבקשה כולה.

במסגרת הבדיקות שערכתי כדי לבדוק על אילו אותיות המערכת כועסת, גיליתי דבר נוסף - בתוך מג'יק עצמה: כאשר אני מבצע ansitoutf8 על שדה כלשהו לתוך שדה אחר, הוא מעביר רק 34 תווים, על אף שכל השדות מוגדרים כבעלי אורך 60H ותוכן השדה שהעברתי הכיל 39 תווים.

יצויין עוד שההעברה למשרד להגנת הסביבה עברה כאשר ביצעתי אותה מהמחשב שלי; כאשר עברתי לבצע מהשרת אצל הלקוח שלי - נתקלתי בתופעה זו.  ה external code page זהה בשני המחשבים: 1252.

תודה למסייעים בדחיפות (זה חייב להסתיים עד סוף החודש אחרת עובר לחברה non-Magic).

צבי

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

תבדוק במערכת הפעלה את ההגדרה של non-Unicode programs (צירפתי תמונה)

2018-07-29_2302.png

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

תוצאה של ansitoutf8 תשמור ב BLOB ולא במחרוזת זאת סיבה שזה נחתך

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

אריאל שלום,

בדקתי: גם אצלי וגם בשרת אצל הלקוח - הנתונים זהים למה שאתה שלחת (טוב, בלי המלבן האדום :) ).

יש רעיונות אחרים? העניינים המוזרים הם כמה:

1. כל האותיות עוברות בסדר למעט השלוש שציינתי.

2. כאשר העברתי נתונים מהמחשב שלי - לא הייתה בעיה של אותיות מסוימות שלא עברו. ברגע שהעברתי בצורה נכונה (מבחינת סוגי השדות ואופי הקריאות) - הכל עבר.

3. מאותו שרת, כאשר אני מעביר את אותם נתונים באמצעות מערכת הבדיקות "Fiddler" - זה עובר בסדר. לי זה נראה לכאורה כאילו פקודת utf8fromansi אינה עובדת נכון, ומפספסת את האותיות האלה.

תודה

צבי

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

שלום,

לאחר מספר גדול מאד של בחינות ובדיקות, חוששני שפקודת utf8fromansi  וכנראה שגם ההופכית שלה - utf8toansi אינן עושות את העבודה. בכל צורה שאני מנסה, אני מקבל אחת מהשתיים: או שאינו ממיר כלל או שהופך לקו תחתון (_) את האותיות העבריות וזהו.

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

תודה

צבי

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

שלום לכולם ולמי שניסה לעזור - שלום מיוחד.

בסופו של דבר התברר כי הבעיה היא ב External Page code שצריך להיות - במקרה זה - דווקא 1255 במקום 1252.

תודה למאיה ומרינה, נערות התמיכה של מג'יק שניסו ובדקו ושוב ניסו וניסו עד שהבריק לאחת מהן הרעיון.

צבי

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

היי צבי ,

הייתה לי אותה בעיה עם עברית בסבב והחלפתי גם ל 1355 ואז זה עבד...

איך לא חשבתי O.o

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

התחבר או הרשם על מנת להגיב.

עליך להיות משתמש רשום על מנת להגיב

צור חשבון

צור חשבון חדש בקהילה בקלי קלות.

רישום חשבון חדש

התחבר

משתמש קיים? התחבר.

התחבר עכשיו

×