![]() |
# 1 |
חבר וותיק
|
בעיה עם Mod rewrite
אני רוצה לעשות ככה את הכתובות:
domain.com/הורדה-אייל-גולן-מפה-לשם.html עכשיו הגעתי למצב הזה, http://vivm.us/songs/download-App-1-...--מפה-לשם.html הבעיה שכל האתר בגיבריש, ישלי איזה פונקציה: PHP קוד:
אבל אם אני יוריד את הפקודה, האתר יהיה בעברית אבל הכתובות יהיו בגיבריש. אשמח לעזרה.
__________________
מוכר מדבקות מסך ובאמפרים לאייפון 4/4S, פרטים בפרטי. |
![]() |
![]() |
# 3 |
חבר וותיק
|
ניסיתי גם עם UTF-8, עדיין האתר עצמו גיבריש, הכתובות טובות.
__________________
מוכר מדבקות מסך ובאמפרים לאייפון 4/4S, פרטים בפרטי. |
![]() |
![]() |
# 4 |
אחראי פורום
|
מכיוון שזו שאלה שנוגעת לפורום תכנות, הנושא מועבר.
|
![]() |
![]() |
# 5 |
אין כמו ב127.0.0.1
|
כשעשיתי משהו כזה פעם, יצרתי Wildcard שתפס את כל הביטויים שבתבנית שלי (לא רק אלו שבעברית או משהו - הכל, באמצעות נקודה-פלוס [+.]). את הכתובת שתפסתי שלחתי ב-GET, אז עשיתי קידוד מהסינית שקיבלתי ב-GET לעברית באמצעות הפונקציה שהבאת פה.
זה עבד טוב, ולא הייתי צריך להחליף את הקישור (אלא רק את הקלט מהכתובת). ככה גם לא צריך לתקן את כל האתר בשביל זה. |
![]() |
![]() |
# 6 |
חבר וותיק
|
@Bluenose,
לא הבנתי אותך, תוכל לפרט יותר?
__________________
מוכר מדבקות מסך ובאמפרים לאייפון 4/4S, פרטים בפרטי. |
![]() |
![]() |
# 7 |
אין כמו ב127.0.0.1
|
הרעיון הוא לקלוט כל כתובת שבתבנית (נניח song-XXXX) ולשלוח את ה-XXXX לבדיקה. הבדיקה עצמה מתרגמת לטקסט ב-CP1255 ואז הטקסט הופך "קריא".
אבל מה שצריך לציין זה שאז באמת עבדתי עם מערכת בקידוד 1255, יכול להיות שמערכת ב-UTF8 לא צריכה את ההמרה (וזה אפילו הגיוני). |
![]() |
![]() |
# 8 |
חבר בקהילה
|
טיפה הסתבכתם.. ברגע שהחלטת להעביר משתנים בצורה כזאת דרך שורת הכתובת אתה צריך (על גדר חייב) להשתמש בurl_encode, ואחר לכך לטובת קריאת הנתונים url_decode.
כמובן להשתמש בutf-8, בתור המלצה חמה. מעבר לזה, לידע כללי, דפדפנים קוראים את השורה הזאת בצורות שונות, IE לדוגמא אם אני לא טועה יהפוך את השורה לג'יבריש לעומת פירפוקס שישאיר אותו בעברית. זאת התנהגות בעייתית שאין לך אפשרות לשלוט בה (נמצאת בצד לקוח). |
![]() |
![]() |
# 9 |
אין כמו ב127.0.0.1
|
השימוש בURLENCODE הכרחי, אבל לא זו הבעיה (או שלא הבנתי נכון?)
למיטב הבנתי ה"ג'יבריש" הוא סימנים לטיניים במקום בעברית, או סתם כל מיני תווים לא ברורים (UTF8, כנראה), והוא רוצה לקחת את ה"ג'יבריש" הזה ולהפוך אותו למשהו שהוא יכול לעבוד איתו. |
![]() |
![]() |
# 10 |
חבר בקהילה
|
שמע, אני לא מאמין ש PHP מקבל סימנים לטיניים.. כל עוד אתה משתמש בפונקציות שהבאתי הכל אמור להיות סבבה מהבחינה הזאת.
מבחינת הפלט? אם יש באמת סימנים לטיניים - אז כמובן שזאת בעיית קידוד. שים לב שאתה שומר גם את הקובץ עצמו בקידוד תואם וגם מגדיר קידוד תואם לעמוד. שוב - ממליץ UTF-8. אם אתה מגיע למצב שיש שאתה בכל זאת מקבל כקלט מחזורת בקידוד שגוי - iconv בהצלחה http://php.net/manual/en/book.iconv.php Last edited by astricks; 16-09-10 at 17:36.. |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|