View Single Post
ישן 05-05-12, 19:37   # 7
Jenya
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Mar 2012
הודעות: 133

Jenya לא מחובר  

ציטוט:
נכתב במקור על ידי xPerfection צפה בהודעה
כדי שמסד הנתונים יעבוד באופן מלא תחת utf8_general_ci, להלן מס' דברים שיש לבצע ואפשר גם דרך ה- phpMyAdmin -
1. בלשונית של ה- host אתה מגדיר את ה- MySQL connection collation כ- utf8_general_ci.
2. בלשונית של ה- database הרלוונטי, אתה נכנס ל- Operations ומגדיר את ה- Collation כ- utf8_general_ci.
3. בלשונית של ה- table הרלוונטית, אתה נכנס ל- Operations ומגדיר את ה- Collation כ- utf8_general_ci.
4. בלשונית של ה- field הרלוונטי (אתה מגיע לשם דרך ה- Structure של הטבלה), אתה מגדיר את ה- Collation כ- utf8_general_ci.
5. בהתחברות למסד הנתונים, אתה שולח בתחילת החיבור את השאילתה SET NAME 'utf8'.

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

לגבי סעיף 1, איך אני מגיע ללשונית host?

בדקתי, בכל מקום שאפשר להגדיר קידוד במסד מוגדר utf8_general_ci, הדפים מקודדים utf-8 without BOM ויש ב-header שורת meta שמגדירה לדפדפן על הקידוד.

בכל מקרה, כשאני מוסיף הוא מראה לי עדיין משהו בסגנון הזה:
קותי סבג
(זה מה שמופיע במסד, ומופיע באתר כ- ×§×�ת×� ס×�×�)

לעומת זאת, כשאני עורך את אותה רשומה, מופיע לי משהו כזה:
לייק
(זה מה שמופיע במסד, באתר מופיע עברית תקנית)

אני ממש אובד עצות, אני לא יודע מה לעשות

תיקון:

עליתי על הבעיה, אחת הפונקציות השתמשה ב-htmlspecialchars, ומפה נבעה הבעיה. תיקנתי את זה ע"י:
htmlspecialchars($string, ENT_QUOTES, 'UTF-8')

תודה על העזרה!

Last edited by Jenya; 05-05-12 at 20:07..
  Reply With Quote