|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
|
![]() |
# 1 |
חבר בקהילה
|
בעיית קידוד utf-8 עברית ב-mysql
![]() אני כותב, עורך, מוחק נתונים מהמסד דרך קבצי php, כל הקבצים מקודדים utf-8 without bom כל המסדים utf-8 general ci עכשיו איפה שיש את ה- $times זה כאשר אני מוסיף נתונים, והם מופיעים אצלי בתור ×�×�×�ש×�×� כל השאר שרואים ג'יבריש, זה אחרי שאני מעדכן, והם מופיעים בתור עברית תקנית בעמוד.... מה אפשר לעשות בקשר לזה? מישהו נתקל בזה בעבר? * כמובן שיש גם meta שמגדיר utf-8 ב-header שכלול בכל העמודים... Last edited by Jenya; 04-05-12 at 14:06.. |
![]() |
![]() |
# 2 |
חבר מתקדם
|
תריץ לפני כל השאילתות שלך את השאילתה הזאת:
קוד:
SET NAMES utf8;
__________________
הורדת שירים מיוטיוב, הורדת שירים, שירים להורדה, שירים להורדה מיוטיוב, העלאת תמונות |
![]() |
![]() |
# 3 | |
חבר בקהילה
|
ציטוט:
![]() ככה זה נראה בדיוק: HTML קוד:
if(!(@mysql_connect("$host","$user","$pass") && @mysql_select_db("$tablename"))) { mysql_query("SET CHARACTER SET 'utf8'"); |
|
![]() |
![]() |
# 4 | |
חבר בקהילה
|
ציטוט:
אם אתה כותב את זה ועדיין לא עובד לך, תנסה למחוק את הטבלה ולהכניס לשם כמה פעמים, גם לי זה קורה ואחרי שאני מכניס כמה פעם תוכן, זה מסתדר. |
|
![]() |
![]() |
# 5 | |
חבר בקהילה
|
ציטוט:
מחקתי את הטבלה והכנסתי כמה פעמים... לא עוזר :/ אני כבר משתגע |
|
![]() |
![]() |
# 6 |
עסק רשום [?]
|
כדי שמסד הנתונים יעבוד באופן מלא תחת 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 (ציינת שעשית את זה, אז זה אמור להיות בסדר). |
![]() |
![]() |
# 7 | |
חבר בקהילה
|
ציטוט:
לגבי סעיף 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.. |
|
![]() |
![]() |
# 8 | |
חבר מתקדם
|
ציטוט:
__________________
הורדת שירים מיוטיוב, הורדת שירים, שירים להורדה, שירים להורדה מיוטיוב, העלאת תמונות |
|
![]() |
![]() |
# 9 | |
עסק רשום [?]
|
ציטוט:
אם אתה יודע שזאת טעות, למה להשאיר את זה ולא לסדר את זה? תגדיר את זה כמו שצריך מההתחלה ולא תיתקל בבעיות כאלו. חכמים ממני אמרו: "פיקח הוא מי שנחלץ מצרה שחכם נמנע ממנה מלכתחילה", יש היגיון בדבר. Last edited by אדיר; 05-05-12 at 21:36.. |
|
![]() |
![]() |
# 10 | |
משתמש - היכל התהילה
|
ציטוט:
נכן אם בוחרים מסד נתונים שהקידוד שלו LATIN, הקידוד של החיבור יהיה LATIN אך אם מריצים SET NAME UTF8 זה יסדר את זה. בכל מקרה תמיד כדאי מההתחלה לעבוד נקי ולשמור על אחידות בקידודים.
__________________
קו ישר, כי אפשר גם אחרת |
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|