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

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

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

      יש לי משתנה-מחרוזת בעברית שאני רוצה להוציא ממנו תו במקום כלשהוא (למשל התו השני), אבל למעשה מה שאני מקבל זה תו בגיבריש!
      למשל על האות ק אני מקבל �.
      למה זה קורה?
      ואיך למעשה אני יכול לקבל תו במקום כלשהוא אבל שיחזור תקין ללא בעיות?
      אני ניסיתי לקבל את התו המבוקש פשוט ע"י כתיבת שם המשתנה ואחריו סוגריים מרובעות עם מיקום התו, ניסיתי גם עם הפונקצייה 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
          • פוסט ראשון
            פוסט אחרון