01-04-07, 03:54 | # 1 |
תודה על תרומתך.
|
לכל המתכנתים שעובדים עם UTF8
אני רוצה להדגיש כמה בעיות שאני בטוח שכמעט כולכם לא יודעים על UTF8 ומחרוזות
כל הדוגמאות יצאו מתוך הנחה שהמחרוזת ב UTF8 דוגמא א' : PHP קוד:
כן 10 ולא 5. הסיבה : STRLEN קורא את UTF8 כ 2 ביטים לכל אות. הפתרון :בהמשך. דוגמא ב' : PHP קוד:
פלט שמתקבל : א�אאאאב. הסיבה : SUBSTR לא יודע לחתוך את האותיות כמו שצריך ולכן יש אותיות שנחתכות באמצע ועושות בלגן עקרונית אפשר להמשיך ככה עד מחר... את הפתרון אני אשאיר לכם למצוא בעזרת גוגל. יום נעים שיהיה לכם.
__________________
|
01-04-07, 04:26 | # 2 |
משתמש - היכל התהילה
|
iconv? =\
מעניין :P |
01-04-07, 09:30 | # 3 |
חבר מתקדם
|
הפתרון פשוט: http://il2.php.net/manual/en/ref.mbstring.php
__________________
רק אחרי שנמצאים בחושך, אפשר להעריך את האור.
|
01-04-07, 09:35 | # 4 |
משתמש - היכל התהילה
|
אפשר להמיר את המחרוזת לקידוד רגיל, לעבוד עליה ואז להמיר לUTF8(אפשרי אם יש בה רק עברית ואנגלית)
ויש בPHP http://www.php.net/manual/en/ref.mbstring.php (פונקציות לעבודה על מחרוזות שכל תו אמור להיות 2byte) רק חבל שזה לא מובנה בתוך המנוע וצריך לאפשר את זה. וראיתי באתר phpclasses (אתר ששווה להציץ בו תמיד!) מחלקה שיכולה לעשות את העבודה: http://www.phpclasses.org/browse/file/16999.html
__________________
קו ישר, כי אפשר גם אחרת |
01-04-07, 11:09 | # 5 | |
תודה על תרומתך.
|
ציטוט:
חיפוש לא ארוך מעלה את התוצאות הבאות : PHP קוד:
PHP קוד:
כמובן שאם יש MBSTRING זה מומלץ
__________________
|
|
01-04-07, 15:33 | # 6 |
חבר מתקדם
|
הכי פשוט להשתמש ב Windows-1255, בחיים לא השתמשתי ב UTF8
__________________
|
01-04-07, 17:52 | # 7 |
חבר בקהילה
|
פשוט זה ברור, אבל אז האתר שלך יתמוך בשפה אחת בלבד
UTF משמש לרוב לאתרים מרובי שפות, הכנה לריבוי שפות, בחלק מהמקרים קידום אתרים וגם, מאפשר הרבה יותר אופציות בעתיד וסתם חוסך עבודה אח"כ
__________________
מתכנת מקצועי (ידוע גם כUnknownGod) שנות נסיון רבות בפיתוח אתרים ואפליקציות WEB |
01-04-07, 18:19 | # 8 |
A Al Alm Almo Almog!
תודה על תרומתך! |
אני לא יודע מי אלו כל המתכנתים שאתה מדבר עליהם..
אבל אני עובד עם ASP, ולא נתקלתי בשום בעיה בעבודה עם UTF-8 עם פונקציות מחרוזות. |
01-04-07, 18:34 | # 9 |
משתמש - היכל התהילה
|
אם אין צורך מיוחד, לדעתי לא כדאי לעבוד עם UTF 8.
כי כל תו בעברית לוקח פי 2 מקום וזה קריטי במיוחד אם שומרים את המידע במסד נתונים ככה.
__________________
קו ישר, כי אפשר גם אחרת |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|