![]() |
בעיה עם Mod rewrite
אני רוצה לעשות ככה את הכתובות:
domain.com/הורדה-אייל-גולן-מפה-לשם.html עכשיו הגעתי למצב הזה, http://vivm.us/songs/download-App-1-...--מפה-לשם.html הבעיה שכל האתר בגיבריש, ישלי איזה פונקציה: PHP קוד:
אבל אם אני יוריד את הפקודה, האתר יהיה בעברית אבל הכתובות יהיו בגיבריש. אשמח לעזרה. |
תעביר את האתר לקידוד UTF-8 ואז לא תהיה לך בעיה של ג'יבריש
|
ניסיתי גם עם UTF-8, עדיין האתר עצמו גיבריש, הכתובות טובות.
|
מכיוון שזו שאלה שנוגעת לפורום תכנות, הנושא מועבר.
|
כשעשיתי משהו כזה פעם, יצרתי Wildcard שתפס את כל הביטויים שבתבנית שלי (לא רק אלו שבעברית או משהו - הכל, באמצעות נקודה-פלוס [+.]). את הכתובת שתפסתי שלחתי ב-GET, אז עשיתי קידוד מהסינית שקיבלתי ב-GET לעברית באמצעות הפונקציה שהבאת פה.
זה עבד טוב, ולא הייתי צריך להחליף את הקישור (אלא רק את הקלט מהכתובת). ככה גם לא צריך לתקן את כל האתר בשביל זה. |
@Bluenose,
לא הבנתי אותך, תוכל לפרט יותר? |
הרעיון הוא לקלוט כל כתובת שבתבנית (נניח song-XXXX) ולשלוח את ה-XXXX לבדיקה. הבדיקה עצמה מתרגמת לטקסט ב-CP1255 ואז הטקסט הופך "קריא".
אבל מה שצריך לציין זה שאז באמת עבדתי עם מערכת בקידוד 1255, יכול להיות שמערכת ב-UTF8 לא צריכה את ההמרה (וזה אפילו הגיוני). |
טיפה הסתבכתם.. ברגע שהחלטת להעביר משתנים בצורה כזאת דרך שורת הכתובת אתה צריך (על גדר חייב) להשתמש בurl_encode, ואחר לכך לטובת קריאת הנתונים url_decode.
כמובן להשתמש בutf-8, בתור המלצה חמה. מעבר לזה, לידע כללי, דפדפנים קוראים את השורה הזאת בצורות שונות, IE לדוגמא אם אני לא טועה יהפוך את השורה לג'יבריש לעומת פירפוקס שישאיר אותו בעברית. זאת התנהגות בעייתית שאין לך אפשרות לשלוט בה (נמצאת בצד לקוח). |
השימוש בURLENCODE הכרחי, אבל לא זו הבעיה (או שלא הבנתי נכון?)
למיטב הבנתי ה"ג'יבריש" הוא סימנים לטיניים במקום בעברית, או סתם כל מיני תווים לא ברורים (UTF8, כנראה), והוא רוצה לקחת את ה"ג'יבריש" הזה ולהפוך אותו למשהו שהוא יכול לעבוד איתו. |
שמע, אני לא מאמין ש PHP מקבל סימנים לטיניים.. כל עוד אתה משתמש בפונקציות שהבאתי הכל אמור להיות סבבה מהבחינה הזאת.
מבחינת הפלט? אם יש באמת סימנים לטיניים - אז כמובן שזאת בעיית קידוד. שים לב שאתה שומר גם את הקובץ עצמו בקידוד תואם וגם מגדיר קידוד תואם לעמוד. שוב - ממליץ UTF-8. אם אתה מגיע למצב שיש שאתה בכל זאת מקבל כקלט מחזורת בקידוד שגוי - iconv בהצלחה http://php.net/manual/en/book.iconv.php |
כל הזמנים הם GMT +2. הזמן כעת הוא 01:44. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ