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

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

Ori The Man 26-05-12 16:07

בעיה עם ajax ועברית
 
אני מנסה לעשות עריכה שברגע שאני לוחץ על מה שאני רוצה לערוך מזין ערך חדש וזה ישר שולח את הטופס כביכול
הבעיה שאם אני מזין ערך בעברית הוא מכניס לי אותו במעיין סימנים מוזרים (לא ג'יבריש)
וזה עובד רק באנגלית

זו בעיה מוכרת?

Haimz 26-05-12 16:23

כן,
לקובץ עצמו (הקובץ שאתה מקבל ממנו נתונים) תשנה את הקידוד לUTF WITHOUT BOM

Ori The Man 26-05-12 17:39

אם אני לא עובד עם UTF?
בכדי להמיר את הקובץ ל UTF אני צריך לרשום מחדש כל דבר שרשמתי בעברית לפני החלפת הקידוד? כי ברגע שאני משנה את הקידוד הוא משנה את כל מה שבעברית

או שמספיק לקודד רק את הקובץ עצמו ככה ולא את כל הפרוייקט

meshuga 26-05-12 18:34

ציטוט:

נכתב במקור על ידי Ori The Man (פרסם 845183)
אם אני לא עובד עם UTF?
בכדי להמיר את הקובץ ל UTF אני צריך לרשום מחדש כל דבר שרשמתי בעברית לפני החלפת הקידוד? כי ברגע שאני משנה את הקידוד הוא משנה את כל מה שבעברית

או שמספיק לקודד רק את הקובץ עצמו ככה ולא את כל הפרוייקט

מראש עדיף שהכל יהיה בUTF
בטוח בעורך שאתה משתמש (כל עוד זה לא notepad) יש אופציית המרה לUTF....

IgalSt 26-05-12 19:33

נסה לעשות escape לטקסט כשאתה שולח אותו, ו- unescape בצד השני כשאתה מקבל אותו.

בכל מקרה, מומלץ בחום (בפרויקיטים חדשים) לעבוד עם UTF-8

Ori The Man 27-05-12 02:20

עבד :)
אני מתחיל להעביר את הכל ל UTF-8 חחחח
הבסיס נתונים יהייה בסדר על utf8_general_ci?

בניה 27-05-12 02:28

utf8_general_ci - סבבה, אני עובד עם UTF8_UNICODE_CI

Ori The Man 27-05-12 02:33

תכלס מה ההבדלים בינהם :S

בניה 27-05-12 02:42

http://stackoverflow.com/questions/2...al-bin-unicode

Haimz 27-05-12 09:51

אין סיבה שתעביר את הנתונים של המסד והכל..
רק את הקובץ תשנה לו את הקידוד
בקשר לעברית, תעתיק את כל הקובץ, תשנה את הקידוד ותדביק,
עובד פרפקט :)

Ori The Man 27-05-12 11:30

תודה, עזרתם מאוד!

איציק ברבי 28-05-12 01:01

תעבוד עם UT8 WITHOUT BOM.
תקודד את כל הקבצים(JS וPHP החשובים מבניהם) לUTF8,
תבדוק שהמסד נתונים מותאם לאותו קידוד(UTF8)
ובקובץ PHP של הAJAX תשים את זה:
header('Content-Type: text/html; charset=UTF-8');

AlmogBaku 04-06-12 20:27

יש סיבה להעביר את הכל ל UTF-8. והיא סטנדרטים!
הסטנדרט המקובל היום בעולם הוא utf-8, וזו מהסיבה הפשוטה שהוא multi-byte שנמצא שעובד פשוט הכי טוב :)


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


כמו כן, מאז שהתחלתי לעבוד עם jquery לא נתקלתי בבעיות עם ג'יבריש(זתומרת.. הפעם האחרונה שעבדתי עם ajax ב-javascript מסורתי היא לפני 4 שנים O.o).


לסיכום: jQuery, utf-8 MUST

IgalSt 04-06-12 21:29

ציטוט:

נכתב במקור על ידי AlmogBaku (פרסם 846052)
יש סיבה להעביר את הכל ל UTF-8. והיא סטנדרטים!
הסטנדרט המקובל היום בעולם הוא utf-8, וזו מהסיבה הפשוטה שהוא multi-byte שנמצא שעובד פשוט הכי טוב :)


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


כמו כן, מאז שהתחלתי לעבוד עם jquery לא נתקלתי בבעיות עם ג'יבריש(זתומרת.. הפעם האחרונה שעבדתי עם ajax ב-javascript מסורתי היא לפני 4 שנים O.o).


לסיכום: jQuery, utf-8 MUST

אני אומנם מסכים עם ההמרה ל-UTF-8, אבל בעיניי המניעים שאתה מציג לא כ"כ נכונים.
סטנדרט = תקן. אין תקן שאומר שאתרים אמורים להיות עם קידוד כזה או אחר, ומפתח האתר מחליט באיזה קידוד להשתמש.
נכון יש הסכמה כוללת על שימוש ב-UTF-8 כיום הדבר מוגדר כ-best practice.

שיקול יחיד שאני יכול לחשוב עליו למה לא לבחור ב-UTF אלא לעבוד עם windows-1255, הוא המשקל. כל תו ב-UTF-8 תופס פי 2 מקום יותר. כך שאם גודל מסד הנתונים גם ככה מאוד גדול ו/או אתה מאוד קמצן במידע שאתה רוצה להעביר מהשרת ואליו, ניתן לשקול לעבוד עם קידוד אחר.
חשוב לזכור שבצורה הזאת ניתן לעבור רק עם אנגלית + שפה אחת נוספת וזהו בכל עמוד.

עם זאת, אסכם ואומר שלדעתי חשוב מאוד לשמור על אחידות בקידוד ב-DB ובעמודי ה-HTML.


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

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