Whatsup - לינוקס, תוכנה חופשית וקוד פתוח בעברית

לינוקס ושרתים - העברת sql לשרת חדש

Anonymous - 16/06/2018 - 13:20
נושא ההודעה: העברת sql לשרת חדש
טוב אז ניסיתי למצוא מידע באינטרנט ולא כל כך הסתדרתי.

אני מנסה להעביר דאטה בייס משרת לשרת.

בשרת 1 המצב הוא כך:
phpMyAdmin גרסה 2.6.3
MySQL גרסה 4.1.12
PHP גרסה 4 (כן זה ישן רצח אני יודע)
המידע עצמו מוצג באתר בעברית.
בתוך ה- phpMyAdmin המידע מוצג כג'יבריש אבל עדיין באתר עצמו מוצג כעברית וזה מה שחשוב.

עשיתי ייבוא db לשרת 2 והמצב הוא כך:
phpMyAdmin גרסה 4.7.8
MySQL גרסה 5
PHP גרסה 7
המידע עצמו מוצג באתר כג'יבריש וכמובן גם בתוך ה- phpMyAdmin

האם יש דרך לגרום לכך שהמידע יוצג באתר בעברית (שרת2) ? ואם אפשר ב- phpMyAdmin בכלל מעולה

אשמח לקבל רעיונות. תודה רבה
Anonymous - 16/06/2018 - 13:49
נושא ההודעה:
רוב הסיכויים שהמידע ב-db המקורי היה שמור ב-collation הלא נכון, היו לי כמה אתרים במצב הזה בעבר.

איך יצאת את המידע?
אם אני זוכר נכון הדרך הכי פשוטה לתקן את זה היתה ליצא את המידע לקובץ SQL טקסטואלי. שם כיוון שזה פשוט טקסט אין בעיה להמיר את זה בעזרת iconv או אפילו בעזרת פונקציות של עורך טקסט כמו notepad++. אחרי שממירים את הכל ל-UTF8 אז מעלים את זה לתוך ה-db החדש.
Anonymous - 16/06/2018 - 14:03
נושא ההודעה: הסברים
אני מייצא דרך phpMyAdmin, כבר בקובץ sql עצמו אפשר לראות שהוא בג'יבריש (פנקס רשימות ו- notepad++)
אם אנחנו מדברים עכשיו רק על שרת 1 (המקור לפני ההעברה)
המידע נקרא בעברית אבל ע"י ה- phpMyAdmin נראה בג'יבריש, אתה צודק שהפתרון הוא איכשהו לייצא בעברית ואז הייבוא יהיה פשוט יותר
השאלה אם ברגע ההורדה מ- phpMyAdmin קבצי ה- sql לא "נחתמים" לג'יבריש סופית ?
יש לך רעיון פרוע איך אפשר לייצא ושהעברית תהיה כבר בשלב הייצוא ?
תודה
Anonymous - 16/06/2018 - 14:13
נושא ההודעה:
מה שאתה קורא לו גיבריש הוא עברית בקידוד אחד כשהעורך שאתה משתמש בו מצפה לקידוד אחר. קצת משחק ב-notepad++ אמור לאפשר לך להפוך את זה לעברית קריאה ולשמור את זה במצב תקין.
אם זה לא מידע סודי אתה יכול להעלות את הקובץ או אפילו חלק קטן ממנו ואני יעיף מבט.
Anonymous - 16/06/2018 - 14:25
נושא ההודעה: תודה רבה, הנה קובץ לדוגמא שהרגע ייצאתי
הנה הקובץ:
https://f2h.io/jse3llzu0dl5

עשיתי ייצוא דרך phpMyAdmin

אם תצליח באמת למצוא "כלי" שמציג את הקובץ בעברית זה אכן יפתור לי את הבעיה, גם אם יקח כמה שעות להמיר את כל המסד.

תודה Smile
Anonymous - 16/06/2018 - 15:02
נושא ההודעה:
הכי פשוט תעתיק את תוכן הקובץ, תדביק אותו לתוך:
http://www.pixiesoft.com/flip/
ההמרה האוטומטית כבר תעבוד.

שים לב שבקובץ ששלחת את הטבלאות החדשות (ובטח גם את כל ה-db החדש) אתה יוצר בקידוד latin1 מה שיגרום לך בעיות גם בעתיד. לפני שאתה מעלה את זה תשנה את ה-sql כדי שהמידע ישמר בקידוד הנכון utf8.
Anonymous - 16/06/2018 - 15:43
נושא ההודעה: מדהים מצאת פיתרון שעובד, רק בעיה אחת קטנה
הפתרון אכן עובד וזה מעולה.. מכאן אני אשנה ל- utf ואעלה לשרת החדש.

העניין הוא שהאתר לא מאפשר לי להמיר טקסט ארוך.. יש לי כ- 300MB,

אתה מכיר אולי סקריפט או תוכנה שעושים את ההמרה הזו גם כן ?

תודה
Anonymous - 26/06/2018 - 12:37
נושא ההודעה: Re: מדהים מצאת פיתרון שעובד, רק בעיה אחת קטנה
oz1988 :
הפתרון אכן עובד וזה מעולה.. מכאן אני אשנה ל- utf ואעלה לשרת החדש.


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

מקסימום תצטרך להתאים את התוכנה. זה לא בהכרח מסובך.


oz1988 :

העניין הוא שהאתר לא מאפשר לי להמיר טקסט ארוך.. יש לי כ- 300MB,
אתה מכיר אולי סקריפט או תוכנה שעושים את ההמרה הזו גם כן ?


מכיוון שיש אינסוף נסיבות שאנשים נתונים בהם, אין סקריפטים מוכנים לכל דבר, אבל זה לא סיפור לכתוב אחד כזה. אתה יכול להשתמש ב-iconv כדי להמיר את הטקסט, וב-sed/perl/whatever כדי לשנות את CHARSET=latin1 ל-CHARSET=utf8. אבל קודם אתה צריך ללמוד את הקובץ כדי לראות שזה באמת כל מה שנחוץ.
Anonymous - 26/06/2018 - 12:48
נושא ההודעה: Re: תודה רבה, הנה קובץ לדוגמא שהרגע ייצאתי
oz1988 :
הנה הקובץ:
עשיתי ייצוא דרך phpMyAdmin


יותר נוח לעבוד משורת הפקודה. זה אם יש לך גישת SSH לאתר. אז אתה משתמשת בתוכניות mysqldump ו-mysql.
כל הזמנים הם GMT + 2 שעות