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

    בעיה בקבלת תו יחיד ממחרוזת

    פורום PHP
    2
    3
    123
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ש
      שמואל ש. נערך לאחרונה על ידי

      יש לי משתנה-מחרוזת בעברית שאני רוצה להוציא ממנו תו במקום כלשהוא (למשל התו השני), אבל למעשה מה שאני מקבל זה תו בגיבריש!
      למשל על האות ק אני מקבל �.
      למה זה קורה?
      ואיך למעשה אני יכול לקבל תו במקום כלשהוא אבל שיחזור תקין ללא בעיות?
      אני ניסיתי לקבל את התו המבוקש פשוט ע"י כתיבת שם המשתנה ואחריו סוגריים מרובעות עם מיקום התו, ניסיתי גם עם הפונקצייה substr אבל גם אותו דבר...
      ואחרי כמה בדיקות ראיתי שב mb_substr הוא לא כותב כלום, אבל בפשוט substr הבעיה היא רק אם אני כותב בנוסף למספר שממנו יתחיל, גם מספר התווים שיקח, במקרה הזה שבאנגלית הוא עובד חלק, בעברית הוא מתחיל לקשקש...

      A תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • A
        amp Software 0 @שמואל ש. נערך לאחרונה על ידי

        @שמואל-ש אמר בבעיה בקבלת תו יחיד ממחרוזת:

        substr

        האם כשהשתמשת ב mb_substr ציינת את הקידוד utf-8?
        דוגמא:

        mb_substr($string, 0, 10, "UTF-8")
        

        יש הבדל בין שיטת האחסון של תווי utf-8 לשאר התווים, ב utf-8 כל תו תופס 4 בתים, ולכן כשאתה מנסה להחזיר את המיקום 2 לדוגמא, הוא מחזיר תו חלקי בעצם

        ש תגובה 1 תגובה אחרונה תגובה ציטוט 2
        • ש
          שמואל ש. @amp Software 0 נערך לאחרונה על ידי

          @amp-Software-0 בסוף זה הסתדר ע"י mb_substr , כנראה האתר ששם ניסיתי לא הכירה את המחלקה ומשם התחילה הבעיה...
          תודה בכל אופן!

          תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • פוסט ראשון
            פוסט אחרון