ציטוט:
נכתב במקור על ידי 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')
תודה על העזרה!