עבור לתוכן

עבריצ עם mysql

Featured Replies

פורסם

שלום

שרת הMYQSL שלי לא מציג עברית (אלא גיבריש במקום) וכך גם PHPMYADMIN

האתר שלי לעומת זאת כן מציג את העברית שהוא לקח מתוך המסד נתונים!

אני משתמש בקידוד utf8_unicode_ciעל הטבלאות וגם על העמודות

זה מאוד מקשה על העבודה שזה ככה- איך מתקנים?

פורסם

שלום

שרת הMYQSL שלי לא מציג עברית (אלא גיבריש במקום) וכך גם PHPMYADMIN

האתר שלי לעומת זאת כן מציג את העברית שהוא לקח מתוך המסד נתונים!

אני משתמש בקידוד utf8_unicode_ciעל הטבלאות וגם על העמודות

זה מאוד מקשה על העבודה שזה ככה- איך מתקנים?

אין לך יותר מידי מה לתקן

UTF-8 זה הסטנדרט שצריך לעבוד בו בשביל להבטיח עברית תקינה שתעבוד לכלל הגולשים שלך בכל המכשירים.

פורסם
  • מחבר

אין לך יותר מידי מה לתקן

UTF-8 זה הסטנדרט שצריך לעבוד בו בשביל להבטיח עברית תקינה שתעבוד לכלל הגולשים שלך בכל המכשירים.

אני יודע.. אבל בPHPMYADMIN וMYSQL command line shell שמותקן לי במחשב זה עדיין מציג לי בג'בריש ואני רוצה לתקן את זה!
פורסם

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

בשביל שזה יעבוד נכון או שמשנים את ברירת המחדל של השרת כדי שיעבוד ב-utf8 או שבכל פעם שאתה פותח connection לשרת אתה יכול להכריח אותו לעבוד ב-utf8 בעזרת פקודת set names (זה לא הכי מומלץ אבל אם אתה יושב על shared hosting לא תמיד יש ברירה).

בכל מקרה אם אתה עושה את השינוי אתה תצטרך להמיר את כל הנתונים שעכשיו שמורים לא נכון. הדרך הכי טובה היא לעשות export מ-phpmyadmin לקובץ sql, אח"כ לעשות את השינויים בשרת, למחוק את הנתונים בו וליבא אותם מחדש הפעם בקידוד הנכון.

פורסם
  • מחבר

איך אני משנה את ברירת המחדל של התקשורת של השרת?

פורסם
if (!function_exists('mysql_set_charset')) @mysql_query('SET NAMES `UTF8`', $connection) or die(mysql_error($connection));
else if (!@mysql_set_charset('utf8', $connection)) die('Can not change MySQL charset to UTF8. Requires MySQL 5.0.7 or later');

פורסם
  • מחבר

הוספתי את השורה:




mysql_set_charset('utf8',$link);

אחרי השורה של ההתחברות למסד נתונים- עכשיו זה מציג לי בעברית בPHPMYADMIN

בקונסולה של MYSQL זה מציג עכשיו עברית בסימני שאלה (במקום ג'יבריש- שיפור?)

ובאתר שלי זה עכשיו מציג בסימני שאלה (מקודם הציג עיברית רגיל)

בעמוד הבית של PHPMYADMIN כתוב:

Server charset: UTF-8 Unicode (utf8)

ו- Server connection collation : utf8_general_ci

מה השתגע לי כאן?

פורסם

הוספתי את השורה:




mysql_set_charset('utf8',$link);

אחרי השורה של ההתחברות למסד נתונים- עכשיו זה מציג לי בעברית בPHPMYADMIN

בקונסולה של MYSQL זה מציג עכשיו עברית בסימני שאלה (במקום ג'יבריש- שיפור?)

ובאתר שלי זה עכשיו מציג בסימני שאלה (מקודם הציג עיברית רגיל)

בעמוד הבית של PHPMYADMIN כתוב:

Server charset: UTF-8 Unicode (utf8)

ו- Server connection collation : utf8_general_ciמה השתגע לי כאן?

האם באפשרותך לספק עוד מידע אודות שרת ה MYSQL שלך?

האם יש לך גישה לעריכת קובץ הקונפיג של השרת עצמו? ( root \ administrator ).

אפשר לקבוע משם כיצד יתנהג השרת ובאיזה קידוד להציג את הפלט.

פורסם
  • מחבר

הבעיה עכשיו נפתרה- מצטער שלא עידכנתי.

הוספתי את השורה רק בקוד של הדף הטופס שמוסיף מידע למסד ולא גם לדף שמציג אותו.

אני עדין הייתי רוצה לדעת למה אני צריך להוסיף את השורה הזאת אם השרת MYSQL כולו מוגדר לUTF-8...

האם באפשרותך לספק עוד מידע אודות שרת ה MYSQL שלך?

האם יש לך גישה לעריכת קובץ הקונפיג של השרת עצמו? ( root \ administrator ).

אפשר לקבוע משם כיצד יתנהג השרת ובאיזה קידוד להציג את הפלט.

כן- השרת מותקן לי על המחשב -אבל אני לא יודע יפה הקובץ הזה נמצא...

פורסם

קובץ הקונפיגורציה של mysql נקרא my.cnf אבל אני לא יודע איפה הוא נמצא אצלך במחשב. צריך להוסיף לו את השורות הבאות:

collation_server=utf8_unicode_ci
character_set_server=utf8

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים