View Single Post
ישן 01-04-07, 03:54   # 1
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

לכל המתכנתים שעובדים עם UTF8

אני רוצה להדגיש כמה בעיות שאני בטוח שכמעט כולכם לא יודעים על UTF8 ומחרוזות

כל הדוגמאות יצאו מתוך הנחה שהמחרוזת ב UTF8

דוגמא א' :

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

הפתרון :בהמשך.

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

עקרונית אפשר להמשיך ככה עד מחר...
את הפתרון אני אשאיר לכם למצוא בעזרת גוגל.
יום נעים שיהיה לכם.
  Reply With Quote