שלח תשובה

זירת השאלות

739
צפיות
3
תשובות

עברית ב – PHP ו mysql

,‏ 17 בספטמבר, 2006

היי
אני ממש מיואש כבר, אין שום היגיון בהתנהגות הזאת!!! ואני אסביר.
יש לי DB שאני מנהל ע"י phpMyAdmin עם טבלאות (די צפוי אני מניח…)
בהתחלה הגדרתי את הכל utf8_unicode_ci וראיתי עברית סבבה בדף ה – PHP,
אבל שמתי לב להתנהגות מאוד מוזרה – כאשר ניסיתי לשלוף עפ"י שדה של ימים
והיו לי בו את הערכים: "יום א", "יום ב", "יום ג",..,"שבת","כל ימי השבוע" וכדו'
אז אם הייתי שולף "שבת" הוא באמת היה מביא לי רק שבת אבל אם הייתי שולף איזשהו יום למשל-
"select * from my_table where day = 'יום א'"
הוא שולף לי גם את "יום ב" ו"יום ג"!!!
כשניסיתי להפוך את השדות ל hebrew_bin הוא מראה לי רק סימני שאלה בדף ה – PHP, לא משנה מה ניסיתי להוסיף אליו (ראיתי את המאמר של הדר פורת)
השאלה היא איך באמת אני אמור להגדיר את פורמט השדות ב – DB
ואיך אני גורם לו שישלוף כמו שצריך?
תודה!
(אגב, פרסמתי את ההודעה הזאת בפורום אחר, של צד הלקוח אבל עכשיו ראיתי שיש גם צד שרת ומאחר והבעייה שלי מערבת את שני הצדדים אולי זה שייך גם לכאן…10x)

תגיות:

3 תשובות

  1. -TJ- הגיב:

    תעלה את כל הקוד אולי הבעיה בהמשך

  2. me_key הגיב:

    אולי אם כי קשה לי להאמין
    כי אפילו כשרשמתי לו במפורש את השאילתא ב PHP,
    אם עשיתי select * הוא נותן לי את כולם,
    אם אני מוסיף לו בסוף where day = 'יום א' הוא נותן לי גם את יום ב' וגם את יום ג'…


    $query = "select * from real_shuls_table where day = 'éåí à'";             
    @ $result = mysql_query($query);
                    
    @ $num_shuls_result = mysql_num_rows($result);
                     echo '<br/>'.$num_shuls_result.'<br/>';                
    // and num comes out > 1 (because of the irrelevant days…)

  3. me_key הגיב:

    טוב, לידיעת הימאים
    כנראה שברוך השם לאחר כמה לילות שעבדתי על זה
    ועם עזרה לא קטנה מאתרים כמו האתר הזה (ותודה על כך!)
    כנראה זה נפתר.
    בסוף הכל נשמר כ – utf8 ואז זה עבד סבבה.
    בהתחלה עשיתי המרה (ע"י iconv) ל utf8 כל פעם שהכנסתי נתונים
    ולהיפך כששלפתי, אבל באיזשהו שלב רציתי להשוות מול קבועים שקבעתי
    בקובץ, ואז החלטתי לשמור את הקובץ ספציפית בקידוד utf8 (עם Notepad)
    ואז כשראיתי כי טוב – העברתי את כל הקבצים שלי (לא היו לי הרבה) לקידוד של utf8 ומאז הכל נראה חלק (טפו טפו טפו…)  

שלח תשובה