עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Nhibernet & Hebrew

Featured Replies

פורסם

היי

יש לי בעיה

כאשר אני רוצה לשמור סטרינג (ב C# ) אשר מכיל מידע בעברית

ע"י שימוש ב Nhibernet אני מקבל ערך מזובל בבסיס הנתונים (MYSQL)

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

יש לכם הצעות ?

תודה

פורסם

אני לא יודעת איך זה עם MYSQL וNHibernate, אבל נתקלתי באותה בעיה עם Oracle וhibernate-

מה שצריך לעשות זה במיפוי של הייברנט (.hbm.xml) למפות את השדה הבעייתי לקלאס חדש שאתה תכתוב.

הקלאס צריך לרשת מStringType (הקלאס הדיפולטי של הייברנט לשמירת מחרוזות), ולממש את הפונקציה:

set(PreparedStatement st, Object value, int index) 

שם בעצם צריך לשמור את הstring שלך כמו שצריך לDB (באורקל זה אומר להשתמש בפונקציה setFormOfUse על הPreparedStatement לפני שמירת המחרוזת).

ממש קל לכתוב את הקלאס הזה. תסתכל על איך StringType של הייברנט כתוב ופשוט תעקוב אחרי זה (איזה יופי שהייברנט זה קוד פתוח).

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

http://forum.hibernate.org/viewtopic.php?t=925490

נ.ב.

זאת החברה של יואב. זה בסדר, יואב לא גילה משהו חדש על עצמו (וטוב שכך, הוא יהיה בחורה מאוד מכוערת).

פורסם

ל-nhibernate לא אמורה להיות בעיה עקרונית עם שמירת ערכים בעברית, עשיתי את זה עם nhibernate מול בסיסי נתונים אחרים ועם hibernate על mysql. פתרונות כמו שהוצעו פה שדורשים שינויים בתכנות ובניית עצמים ומתודות מיוחדות הייתי שומר כמפלט אחרון, אם זה נדרש זה כבר ממש bug שיש לדווח עליו.

לגבי mysql, הגדרת השדה בטבלה כ-utf8 בדרך כלל לא מספיקה, תבדוק גם שהטבלה וה-database עצמו מוגדרים כ-utf8, מעבר לזה גם החיבור עצמו בין האפליקציה ולבין mysql יש לו collation משלו וצריך להגדיר אותו בהתאם.

- תבדוק שבקובץ הקונפיגורציה של nhibernate ב-connection string מוגדר CharSet=utf8.

- תפתח את קובץ הקונפיגורציה של mysql, ה-C:\my.ini (יכול להיות שהוא יושב אצלך במקום אחר) ותוסיף לו את ההגדרה: default-character-set=utf8.

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.