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

    קיבלתם ג'יבריש בפרמטרים עם עברית? הנה הסיבה והפתרון

    מתוזמן נעוץ נעול הועבר פורום מפתחים API
    1 פוסטים 1 כותבים 16 צפיות 1 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ז מחובר
      ז"למאן
      נערך לאחרונה על ידי

      אם אתם עובדים עם שרת (שאינו PHP) ומקבלים את הפרמטרים עם עברית בג'יבריש כזה:

      ש×\x9c×\x95×\x9d
      

      במקום עברית תקינה — הנה הפתרון.

      הסיבה:
      ימות שולחים בקשות POST עם הכותרת:

      Content-Type: application/x-www-form-urlencoded
      

      ללא ציון charset=utf-8. רוב השרתים (ובמיוחד PHP) מסתדרים עם זה מצוין ומניחים שהקידוד UTF-8 אוטומטית — אבל שרתים מסוימים כמו Python/FastAPI מפרשים לפי התקן הישן ומקבלים ג'יבריש.

      הפתרון: (פייתון)

      try:
          Param= Param.encode("latin-1").decode("utf-8")
      except:
          pass
      

      להוסיף לפני כל שימוש בפרמטר שמכיל עברית.


      מקוה שאפאחד לא יסבול מזה כמה שאני הצלחתי לסבול...

      @שמואל אולי באמת אפשר להוסיף את הכותרת...
      תגובה 1 תגובה אחרונה תגובה ציטוט 1
      • פוסט ראשון
        פוסט אחרון