הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 24-06-07, 02:38   # 1
LosNir
מתאורר / יצא בחוץ
 
LosNir's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ראשון לציון
גיל: 32
הודעות: 2,686
שלח הודעה באמצעות ICO אל LosNir שלח הודעה באמצעות MSN אל LosNir

LosNir לא מחובר  

בעיות עם utf8? הסברים ותיקונים כאן!

שלום

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

בעיקרון מה שצריך לעשות זה 3 דברים עיקריים:

1) להמיר את קבצי הטקסט ל utf8 without BOM, אני ממליץ על notepad2.
2) לשים תג meta בדפי ה HTML שיגיד לדפדפן שזהו קובץ UTF8.
3) להמיר את כל המסד ל UTF8.

נעבור שלב שלב:

1) יש 2 סוגים של UTF8:
  • UTF8 with BOM
  • UTF8 without BOM

מהו בעצם ה BOM הזה ולמה הוא גורם?

ה BOM הוא ראשי תיבות של Bytes order mark, שהוא בפירוש לעברית "חותמת סדר ביטים", לא נכנס לזה יותר מדי, אבל אפשר להגיד שזה בעקרון מכניס לקובץ טקסט את הסדר ביטים בקובץ.

הדבר הזה גורם להוצאת פלט, וכך בעקיפין לבעיות עם headers (לדוגמא header already sent ב PHP).

notepad הרגיל שומר קבצי UTF עם BOM, ואין אפשרות ללא BOM.
בשביל שנוכל להמיר את הקובץ טקסט ללא BOM נצטרך תוכנת עריכת טקסט יותר מתקדמת, כאן אני ממליץ על notepad2.

המרה ל UTF without BOM ב notepad2:
  1. File > Encoding > UTF8 > OK
  2. File > Save

הורדה ל notepad2: http://www.flos-freeware.ch/zip/notepad2.zip

2) זהו החלק הקל ביותר, להוסיף את הקוד הבא בין תגי head וגמרנו:

HTML קוד:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
3) זהו החלק הקשה, קודם כל צרו לכם רשימה של כל הטלבאות שברצונכם להמיר.
לכו ל phpmyadmin ואז תבחרו בטבלה שלכם ולחצו על SQL בתפריט למעלה.

קחו את השאילתא הבאה ושנו את USERNAME ל user_db, כאשר user הוא השם משתמש שלכם לאכסון, ו db הוא שם המשתמש למסד.

קוד:
ALTER DATABASE `USRENAME` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
אצלי השם משתמש באכסון הוא losnir והמסד הוא shell, לפיכך, השאילתא אצלי תיהיה כך:

קוד:
ALTER DATABASE `losnir_shell` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
עכשיו זוכרים שביקשתי מכם שתכינו רשימה של כל הטבלאות במסד? יופי, כי כאן נצטרך את אותה הרשימה.

קחו את השאילתא הבאה, ושכפלו אותה כמספר הטבלאות שלכם:

קוד:
ALTER TABLE `MYTBL` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
החליפו את MYTBL בשם הטבלה, וכל מה שקיבלת צרפו לקוד הקודם שהכנו.

לדוגמא, נגיד שיש לי 3 טבלאות: user, admin ו page, לפיכך, השאילתא המלאה שלי תיהיה כך:

קוד:
ALTER DATABASE `losnir_shell` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `admin` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `user` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `page` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
העתיקו את הכל המלא שלכם לתיבת הטקסט ב phpmyadmin ולחצו על GO.

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

ז"א, שנצטרך לאפס את כל הטבלאות שלנו ולהתחיל הכל מהתחלה.

אז לפני שאתם מתחילים לפתח מערכת כלשהי, תחשבו טוב טוב באיזה קידוד אתם הולכים להשתמש, כי הדרך חזרה תיהיה מפרכת וארוכה.
זהו כלל ברזל!

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

יום טוב,
ניר אזואלוס.

Last edited by LosNir; 24-06-07 at 02:42..
  Reply With Quote
ישן 24-06-07, 06:06   # 2
mlnn
משתמש - היכל התהילה
 
mlnn's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: בחדר של חני
גיל: 34
הודעות: 4,417

mlnn לא מחובר  

תודה.
רק בעיה, אין אצלי בתוך תפריט File את ה encoding.
__________________
.

בחורות ערומות
  Reply With Quote
ישן 24-06-07, 06:34   # 3
snirk
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Jun 2006
מיקום: חולון
גיל: 33
הודעות: 1,043

snirk לא מחובר  

תודה רבה,
עם הייתה כותב אותו קצת לפני כמה ימים , הוא היה עוזר לי
__________________
בברכה,
שניר קדוש.
אס.קיי.נט |בניית אתרים
  Reply With Quote
ישן 24-06-07, 06:41   # 4
Gal Shafrir
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,626

Gal Shafrir לא מחובר  

mlnn מופיע לך Format בתפריט?

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

עופר שפריר - במאי, תסריטאי ומפיק.
  Reply With Quote
ישן 24-06-07, 08:12   # 5
Hanan
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Sep 2006
גיל: 37
הודעות: 841

Hanan לא מחובר  

מדריך מצויין תודה!
אבל יש לי בעיה מוזרה. כשגיביתי את הדאטה בייס בקובץ *.sql אני רואה עברית ממש עברית.
ושאני מעלה אותו ל phpmyadmin אני מקבל סימני שאלה...

יש דרך לתקן את זה?

תודה!
__________________
פרוייקטים: חדשות, קייטרינג, מילים לשירים, זר מתוק

בניית אתרים - Wise Group Media LTD
  Reply With Quote
ישן 24-06-07, 10:46   # 6
syn
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,919

syn לא מחובר  

סחטיין על המדריך
פעם ראשונה הסתבכתי נורא עם כל הקטע הזה.
  Reply With Quote
ישן 24-06-07, 13:02   # 7
LosNir
מתאורר / יצא בחוץ
 
LosNir's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ראשון לציון
גיל: 32
הודעות: 2,686
שלח הודעה באמצעות ICO אל LosNir שלח הודעה באמצעות MSN אל LosNir

LosNir לא מחובר  

ציטוט:
נכתב במקור על ידי Hanan צפה בהודעה
מדריך מצויין תודה!
אבל יש לי בעיה מוזרה. כשגיביתי את הדאטה בייס בקובץ *.sql אני רואה עברית ממש עברית.
ושאני מעלה אותו ל phpmyadmin אני מקבל סימני שאלה...

יש דרך לתקן את זה?

תודה!
אחלה ככה המסד צריך להיות.
עכשיו תריץ את השאילתא המלאה שהסברתי במדריך (בהתאם לטבלאות שלך) ותעלה את הגיבוי.
  Reply With Quote
ישן 24-06-07, 13:54   # 8
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

לפי דעתי היה נחמד אם הייתה מוסיף "יתרונות וחסרונות ב-UTF".

תודה רבה D:
  Reply With Quote
ישן 24-06-07, 14:21   # 9
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

המדריך המלא ? האמת היא שציפיתי ליותר,
כמו לדוגמא עבודה עם פונקציות שיש להם בעיה עם UTF8 כמו SUBSTR ו STRLEN
ודומיהם

ללא שימוש ב MBSTRING
  Reply With Quote
ישן 24-06-07, 14:36   # 10
Gil B
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 1,120

Gil B לא מחובר  

אני מכיר את זה, יש לי בזה הרבה שימוש, תודה רבה בכל אופן
__________________

  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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