הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [שאלה] בקשר לעברית בכתובת (https://hosts.co.il/forums/showthread.php?t=84122)

Shay-A 01-08-10 19:26

[שאלה] בקשר לעברית בכתובת
 
אוקיי אז ככה אני בונה איזשהי פונקציית חיפוש עכשיו הכל עובד מעולה אני יכול להעביר אותיות א-ת בכתובת בלי שום בעיה.
הבעיה שאני מנסה לשלוף את המידע הזה, אז הוא מגיע לי בשפה מוזרה,
נגיד אני מחפש "שלום", אני מקבל:
קוד:

%D7%A9%D7%9C%D7%95%D7%9D
ואני לא יכול לשלוף ככה נתונים מהמסד כי הוא מקודד ב utf-8 והוא נשמר באותיות עבריות ולא ג'יבריש.

מה אפשר לעשות? תודה!

Erez | TrustMedia.co.il 01-08-10 19:34

תשתמש בiconv ותשנה קידוד לסטרינג הזה

Shay-A 01-08-10 20:05

דוגמת קוד תעזור לי מאוד...

~The_Sultan~ 01-08-10 22:04

הנה פונקציה שאני משתמש בה במקרים שצריך, שממירה את הטקסט ממה שנתת לעברית:

PHP קוד:

function encode($string)
{
    
$string str_replace("%D7%90""א"$string);
    
$string str_replace("%D7%91""ב"$string);
    
$string str_replace("%D7%92""ג"$string);
    
$string str_replace("%D7%93""ד"$string);
    
$string str_replace("%D7%94""ה"$string);
    
$string str_replace("%D7%95""ו"$string);
    
$string str_replace("%D7%96""ז"$string);
    
$string str_replace("%D7%97""ח"$string);
    
$string str_replace("%D7%98""ט"$string);
    
$string str_replace("%D7%99""י"$string);
    
$string str_replace("%D7%9A""ך"$string);
    
$string str_replace("%D7%9B""כ"$string);
    
$string str_replace("%D7%9C""ל"$string);
    
$string str_replace("%D7%9D""ם"$string);
    
$string str_replace("%D7%9E""מ"$string);
    
$string str_replace("%D7%9F""ן"$string);
    
$string str_replace("%D7%A0""נ"$string);
    
$string str_replace("%D7%A1""ס"$string);
    
$string str_replace("%D7%A2""ע"$string);
    
$string str_replace("%D7%A3""ף"$string);
    
$string str_replace("%D7%A4""פ"$string);
    
$string str_replace("%D7%A5""ץ"$string);
    
$string str_replace("%D7%A6""צ"$string);
    
$string str_replace("%D7%A7""ק"$string);
    
$string str_replace("%D7%A8""ר"$string);
    
$string str_replace("%D7%A9""ש"$string);
    
$string str_replace("%D7%AA""ת"$string);
    
$string str_replace("%20"" "$string);

    return 
$string;


בהצלחה..

AlmogBaku 02-08-10 02:08

פיכס. מה זו הפונקציה הזו..

תשתמש בדברים מוכרים.. urldecode, iconv שימוש בקידוד נתונים טוב(utf-8) ולא יהיו לך צרות.
תמיד תשתדל לא להמציא את הגלגל..

~The_Sultan~ 02-08-10 17:46

ציטוט:

נכתב במקור על ידי Baku (פרסם 773657)
פיכס. מה זו הפונקציה הזו..

תשתמש בדברים מוכרים.. urldecode, iconv שימוש בקידוד נתונים טוב(utf-8) ולא יהיו לך צרות.
תמיד תשתדל לא להמציא את הגלגל..

חח התגובות שלך מצחיקות אותי כל פעם מחדש - אתה מנסה להראות ידע אבל מראה ההפך.
פותח האשכול ביקש פיתרון לבעיה, אני נתתי לו אותו, ואתה אומר לי "לא להמציא את הגלגל" ומצד שני אומר לפותח האשכול לשנות את כל שיטת הפעולה שלו.
יותר פשוט וקל להשתמש הפעם בפונקציה הזו, נכון? |קורץ|

AlmogBaku 03-08-10 06:13

ציטוט:

נכתב במקור על ידי ~The_Sultan~ (פרסם 773771)
חח התגובות שלך מצחיקות אותי כל פעם מחדש - אתה מנסה להראות ידע אבל מראה ההפך.
פותח האשכול ביקש פיתרון לבעיה, אני נתתי לו אותו, ואתה אומר לי "לא להמציא את הגלגל" ומצד שני אומר לפותח האשכול לשנות את כל שיטת הפעולה שלו.
יותר פשוט וקל להשתמש הפעם בפונקציה הזו, נכון? |קורץ|

אתה מפספס משהו בסיסי.
הרעיון בפורום הזה הוא לא לתת לאנשים את הפתרונות על כפית של כסף, הרעיון הוא לנסות לעזור להם למצוא כיוון מחשבה שהם לא חשבו עליו.

לגבי הלשנות את שיטת הפעולה- אתה מתבלבל. הוא ביקש עצה, הוא לאו דווקא אמר שהשיטה שלך היא השיטה שהוא יבחר..

לגבי ה"לנסות להראות"- שמע ידידי, המשחקי מילים וההתנגות שלך האלו פשוט מתחילה להימאס עליי. לא כולם פה ילדים בכיתה ז', ולא כולם מנסים להוכיח דברים. אני לא חייב לך ולאף אחד אחר כלום. אני פשוט להבדיל ממך חי בעולם קצת יותר גדול.. ויש שיטות ומתודולוגיות מקובלות בעולם. במקום לבלבל את השכל תלמד.
הגישה הילדותית הזו מזיקה לכולנו. תקבל את זה שיש אנשים עם יותר ניסיון וידע, וזה לא רע.

~The_Sultan~ 03-08-10 10:20

לא, לא. הרעיון בפורום הזה, כמו בכל פורום אחר, הוא לעזור - ולדעתי ולדעת רבים אחרים השיטה הטובה יותר היא לתת דוגמה ושבפעם הבאה הוא יישתמש, ולא לבזבז לו זמן בפעם הזו כי אולי בעזרת הדוגמה שנתת לו הוא גם יבין תוך כדי. ואולי לא, כן? זה תלוי בבנאדם.
אל תגיד לי לקבל את זה שיש אנשים עם יותר ניסיון כי אני מודע לזה טוב מאוד, אבל אנשים שחצנים אני לא אוהב פשוט... לא משנה כמה ניסיון וידע הם אומרים שיש להם.

Daniel 04-08-10 14:10

אני תומך בעמדה של אלמוג. הפונקציה הזאת לא יעילה ולא מלאה. אלמוג התכוון שפשוט - יש פתרונות אחרים שאנשים כבר חשבו והתאימו כראוי. המטרה בפורום היא לעזור אחד לשני, ואלמוג מנסה לעזור בכך שהוא מצביע על העבודה שהשיטה שאתה משתמש בה היא לא הפתרון המתאים לבעייה.

ועכשיו לנושא: באיזה קידוד שמור העמוד PHP (או המקום שבו נמצאת הכתובת) ובאיזה קידוד מוצג האתר? נסה להשתמש כמו שהציעו ב-urldecode, iconv, למרות שלפי דעתי הבעייה היא בקידוד של אחד החלקים במערכת שלך, כי מהניסיון שלי העברית אמורה לעבור חלק.

Erez | TrustMedia.co.il 04-08-10 14:40

ציטוט:

נכתב במקור על ידי MasterT (פרסם 774083)
אני תומך בעמדה של אלמוג. הפונקציה הזאת לא יעילה ולא מלאה. אלמוג התכוון שפשוט - יש פתרונות אחרים שאנשים כבר חשבו והתאימו כראוי. המטרה בפורום היא לעזור אחד לשני, ואלמוג מנסה לעזור בכך שהוא מצביע על העבודה שהשיטה שאתה משתמש בה היא לא הפתרון המתאים לבעייה.

ועכשיו לנושא: באיזה קידוד שמור העמוד PHP (או המקום שבו נמצאת הכתובת) ובאיזה קידוד מוצג האתר? נסה להשתמש כמו שהציעו ב-urldecode, iconv, למרות שלפי דעתי הבעייה היא בקידוד של אחד החלקים במערכת שלך, כי מהניסיון שלי העברית אמורה לעבור חלק.

אם האתר שלו משתמש בwindows-1255 אז כשהוא יקבל עברית בGET זה יוצג לו כמו שהוא אמר,אז כמו שאמרתי שימיר עם iconv לקידוד שהוא משתמש וזה יפעל


כל הזמנים הם GMT +2. הזמן כעת הוא 00:37.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ