אני רוצה להדגיש כמה בעיות שאני בטוח שכמעט כולכם לא יודעים על UTF8 ומחרוזות
כל הדוגמאות יצאו מתוך הנחה שהמחרוזת ב UTF8
דוגמא א' :
PHP קוד:
$string = 'אאאאב';
echo strlen($string);
הפלט של STRLEN (למי שלא יודע זה פונקציה שמחשבת אורך מחרוזת) יהיה 10
כן 10 ולא 5. הסיבה : STRLEN קורא את UTF8 כ 2 ביטים לכל אות.
הפתרון :בהמשך.
דוגמא ב' :
PHP קוד:
$string = 'אאאאב';
echo substr($string,0,3);
פלט רצוי : אאא
פלט שמתקבל : א�אאאאב.
הסיבה : SUBSTR לא יודע לחתוך את האותיות כמו שצריך ולכן יש אותיות שנחתכות באמצע ועושות בלגן
עקרונית אפשר להמשיך ככה עד מחר...
את הפתרון אני אשאיר לכם למצוא בעזרת גוגל.
יום נעים שיהיה לכם.