שלח תשובה

זירת השאלות

702
צפיות
5
תשובות

שליפת עברית מתוך מסד mysql

,‏ 7 במאי, 2007

שלום,
אני משתמשת בתוכנת easyphp לבניית ה-DB ואני מנסה לשלוף בעזרת שאילתה את הנתונים שיש לי בטבלאות שבDB (לתוך דף web בעזרת php)
התוצאה היא רק סימני שאלה (??????), וכל הנסיונות שלי בהגדרת ה-caption לעברית או ליוניקוד לא הועילו. ניסיתי גם לעשות תרגיל הפוך ולהכניס לטבלאות נתונים ע"י שאילתת insert מתוך ה-web אבל, עדיין המון סימני שאלה….

אני ממש אובדת עצות,
אשמח אם למישהו יהיה פתרון יצירתי בשבילי,
תודה!

תגיות:

5 תשובות

  1. silagy הגיב:

    תגובה
    שלום,

    אל תתייאשי..

    את צריכה לעשות את הדברים הבאים.

    בכל תא טקסט במסד את צריכה להגדיר שה – Collation יהיה utf8_bin.

    ובדף האתר את צריכה להגדיר כך:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    מקוה שעזרתי

  2. lirlir הגיב:

    תודה! ועוד שתי שאלות…
    תודה רבה! עזרת לי מאוד!
    אבל יש לי כמה תובנות וגם שאלות:
    קודם כל באמת הגדרתי במסד הנתונים כל תא להיות utf8_bin וזה מה שעזר, אבל אז ראו עברית במהופך, ולכן הייתי צריכה להשתמש בפונ' hebrev() כדי שהיא תוצג כמו שצריך.
    השאלה שלי היא:
    האם יש הבדל בין utf8_bin,utf8_unicode_ci,utf8_general_ci
    כי ניסיתי להגדיר את כל השלושה ובכולם התוצאה התקבלה בסדר.

    עוד דבר שאני רוצה להיות בטוחה בו:
    בגלל שכל האתר שלי בנוי על קידוד
    ('Content-Type: text/html; charset=windows-1255');
    לא השתמשתי בהגדרת הקידוד של unicode בheader (כשניסיתי כל הדף נעלם וראו רק את הרקע …).
    האם יש לי מה לדאוג כשאני מגדירה את מסד הנתונים שלי כיוניקוד, אך דפי האתר שלי בנויים על עברית של windows?

    תודה על העזרה

  3. 24sharon הגיב:

    תעבדי גם אם הדפים בקידוד UTF
    ואם נעלם לך התוכן,

    תבצעי קובץ >שמירה בשם> ואז תבחרי את הקידוד הנכון
    (אפשר אפילו בNOTPAD)

    בהצלחה

  4. lirlir הגיב:

    השמת ערך בן שתי מילים ל-value
    שלום,

    עשיתי טופס שיש בו מספר checkbox-ים. כל checkbox מקבל ערך (value) מתוך מערך מסויים, ע"י לולאת for.

    נתקלתי בתופעה מוזרה שעליתי עליה לאחר בדיקות רבות – למערך שלי (cart) יש מספר איברים בני שתי מילים (למשל: אפונה ריחנית), אך כאשר אני שמה את ערך המערך
    'cart' בתוך ה-value של ה-checkbox, המערך checked (שמכיל את כל ה-value של ה-checkbox-ים שסומנו) מכיל רק מילה אחת עבור כל checkbox שסומן, כלומר  עבור ערכים בני שתי מילים תשמר רק המילה הראשונה מתוכן.
    למען הסר ספק: בדקתי את העובדה שבמערך cart האיברים אכן שמורים במלואם כך שגם שתי מילים שמורות כאיבר אחד.

    להלן הקוד (שמתי רק את הקוד הרלוונטי של הcheckbox – אם לא רואים אותו ברור אפשר להעתיק לnotepad וליישר לימין):

    echo "<input type='Checkbox' name='checked[]' value=".$_SESSION['cart'][$i].">

    האם למישהו יש מושג כיצד לגרום לכך שהvalue יקבל את הערך של שתי המילים באיברים בני שתי מלים ולא יזניח אף מילה….?

    תודה מראש,
    לירון

  5. SomeOne1 הגיב:

    תגובה
    נסי את הקוד הבא:


    echo "<input type='Checkbox' name='checked[]' value='".$_SESSION['cart'][$i]."'>";

שלח תשובה