שליפת נתונים בעברית (UTF8) מ-MySQL באמצעות Asterisk
-
בס"ד
לבקשת @דוד ל.ט. - הנה זה בא...
האמת שאני לא יודע כמה הציבור הקדוש דכאן מתעסק במרכזיות אסטריסק, אבל לנסות תמיד אפשר. <!-- s8-) --><img src="{SMILIES_PATH}/icon_cool.gif" alt="8-)" title="מגניב" /><!-- s8-) -->
ובכן, בשעה טובה, כפי שהבטחתי, עשיתי את הנסיון הראשון שלי ב MySQL.
יצרתי מסד נתונים עם קידוד ב-UTF8 באמצעות הפקודה:CREATE DATABASE my_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
והכנתי טבלה קטנה שמכילה 3 עמודות: מס' טלפון, שם (בעברית), כתובת (בעברית).
בשליפת נתונים ידנית מתוך הטרמינל, הכל מוצג יפה בעברית.הבעייה, שכאשר המרכזייה מנסה לשלוף את הנתונים באמצעות הפקודה MYSQL,
במקום כל אות בעברית מופיע סימן שאלה.רק לשם השוואה,
עד היום הייתי מנסה לקבל פרטי מתקשר באמצעות שאילתא לאתר הענתיקה 441.il ע"י הפקודה CURL,
והתוצאות הגיעו בעברית כמו שצריך. רק שהתוצאות מהאתר היו יותר משעשעות מאשר נכונות... :lol:תודה רבה!
פורסם במקור בפורום CODE613 ב06/11/2017 09:25 (+02:00)
-
בס"ד
אני רק אוסיף - אולי לתת כיוון חשיבה,
ניסיתי גם לשלוף באמצעות סקריפט BASH חיצוני.
כאשר הרצתי את הסקריפט ידנית בפוטי, קיבלתי תוצאות בעברית נורמלית.
כאשר נתתי למרכזייה להריץ את הסקריפט (ניסיתי גם ב SHELL וגם ב AGI) - קיבלתי ?????
(זה לא שאלה של "נחשו מה קיבלתי", אלא זה דוגמא למה שקיבלתי) :mrgreen:פורסם במקור בפורום CODE613 ב06/11/2017 11:33 (+02:00)
-
לא בריא לתקשר ישירות מהאסטריסק לדטה בייס, כדאי לשים באמצע API ולתקשר באמצעות HTTP, כך יש לי שליטה על מגוון אדיר של דברים כולל למשל קידוד, שזוהי הבעיה שלך.
תודה על התשובה!
ובמילים אחרות, גם אחרי ש @דוד ל.ט. צמצם לי משמעותית את הדמיונות,
והשאיר אותי עם פרויקטון פיצ-פיצפון, עדיין יש הרבה מה ללמוד בשביל שזה יעבוד...פורסם במקור בפורום CODE613 ב06/11/2017 12:45 (+02:00)
-
אני ניגש מאסטריסק ישירות לMYSQL בלי בעיה עם העברית כבר כמה שנים.
הפתרון: להוסיף utf8 בסוף שורת הConnect לאחר שם הDB, לפני הסוגריים.
ככה:exten =>s,n,MYSQL(Connect connect_save localhost user pass db_name utf8)
פורסם במקור בפורום CODE613 ב06/11/2017 12:59 (+02:00)
-
עבד כמו קסם! תודה רבה!
ועכשיו תגיד לי @CODE.NET ,
איך אני חרשתי את כל התיעוד הזמין (בנטפרי) בנושא,
ולא מצאתי בכלל שום התייחסות ל UTF8,
ובפרט שבשום מקום לא ראיתי מוזכר שניתן להוסיף פרמטרים נוספים כלשהם בשורת ה Connect.איך מצאת אז זה?
גם איך למצוא פתרונות צריך ללמוד...תודה רבה!
פורסם במקור בפורום CODE613 ב06/11/2017 13:29 (+02:00)
-
גם איך למצוא פתרונות צריך ללמוד...
מושגי יסוד זה החסם העיקרי בין האדם ובין גוגל, כשיש לכימאי בעיה בכימיה ייתכן שגוגל יעזור לו, אבל לא לי, כי אני לא יודע מה לחפש. זכור! גוגל הוא לא מורה! הוא מנוע המספסר בין היודע למחפש. בכדי לקבל מושגי יסוד עליך להשיג מורה בשר ודם, במקרה של תיכנות, גוי זה גם טוב.
החיפוש הבא: asterisk mysql encoding
בתוצאה השניה: https://reviewboard.asterisk.org/r/964/diff/3/
מציג את הפתרון של קודנט.
אבל מי ילמד אותך לחפש את הביטוי הזה שבסך הכל מרכיב 3 מושגי יסוד למשפט אחד (אגב טיפ ממני גוגל עובד טוב יותר בחיפוש בן 3 מילים, ובעיקר אם הם מתמצתים את המושגים שאתה רוצה להרכיב במשפט, כל מילה נוספת עשויה להפחית את איכות החיפוש)פורסם במקור בפורום CODE613 ב06/11/2017 15:46 (+02:00)
-
החיפוש הבא: asterisk mysql encoding
בתוצאה השניה: https://reviewboard.asterisk.org/r/964/diff/3/אופססס... האתר עדיין לא נבדק (נטפרי)
בכל אופן, מה שאני חיפשתי בגוגל (והעליתי חרס בידי) זה כמעט אותו נוסח: asterisk mysql utf8
אבל כנראה שיש גם החלטות מלמעלה - כמה צריך להתברבר עד שמגיעים אל המנוחה והנחלה.נ.ב. למרות שבתיעוד הרשמי על פקודת MYSQL באסטריסק - באתר המקובל ביותר בתחום (למיטב "ידיעתי") -
לא מופיעה היכולת של הוספת פרמטרים כלשהם לפקודת ה Connect,
דווקא בתיעוד שמגיע ב-Help המובנה ב Asterisk CLI, זה כן מופיע:core show application MYSQL ... MYSQL(Connect connid dhhost[:dbport] dbuser dbpass dbname [dbcharset])
מציאה זו נלקחה מכאן
תודה רבה!
פורסם במקור בפורום CODE613 ב06/11/2017 16:13 (+02:00)
-
@דוד ל.ט.
@mat
יפה פתרון בעיה תוך יום אחד זה מהר מאוד.כמה נכון.
אמנם המהירות יכולה להיות כתוצאה מהעוצמה של חברי הפורום,
אבל באותה מידה היא יכולה גם לנבוע מרמת השאלה השטותית של השואל, קרי: אני. :lol:בכל אופן,
אל תהרסו לי את האופוריה -
אני מקווה שכל השאלות שלי הבעל"ט יבואו לפתרונן במהירות,
בין אם מחמת רמת החברים הגבוהה ובין אם מחמת רמת השאלות הנמוכה...פורסם במקור בפורום CODE613 ב06/11/2017 21:49 (+02:00)