نمایش نتایج 1 تا 14 از 14

نام تاپیک: ذخیره نشدن متن فارسی در بانک اطلاعاتی

  1. #1

    ذخیره نشدن متن فارسی در بانک اطلاعاتی

    سلام به همه
    من یه سایت طراحی کردم که از بانک اطلاعاتی sql server 2005 استفاده می کنه
    از طریق یه صفحه اطلاعات رو به بانک اطلاعاتی وارد می کنم تا تو صفحات دیگه سایت نشونشون بدم. ولی کاراکترهای فارسی به صورت ؟ نشون داده می شن. مشکل چیه؟

    encoding بانک اطلاعاتی arabic_ci_ai تنظیم شده

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    مشهد
    پست
    144

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    نقل قول نوشته شده توسط navidlog مشاهده تاپیک
    سلام به همه
    من یه سایت طراحی کردم که از بانک اطلاعاتی sql server 2005 استفاده می کنه
    از طریق یه صفحه اطلاعات رو به بانک اطلاعاتی وارد می کنم تا تو صفحات دیگه سایت نشونشون بدم. ولی کاراکترهای فارسی به صورت ؟ نشون داده می شن. مشکل چیه؟

    encoding بانک اطلاعاتی arabic_ci_ai تنظیم شده
    اگه فيلدها رو از نوع nvarchar ya ntext انتخاب كنيد فكر كنم مشكلتون حل بشه

  3. #3
    کاربر دائمی آواتار imanasp
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    قطعه ای از بهشت
    پست
    364

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    در sql server 2005 مسیر زیر را برای تعیین زبان دیتابیس دنبال کنید:
    بعد از کلیک راست روی دیتابیس مذکور
    properties-->option-->collaction
    سپس از لیست کشویی مقدار Arabic_CS_AS_KS_WS را انتخاب کنید تا مشکلاتان برطرف شود

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    http://hamdsoft.ir
    پست
    350

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    سلام
    اگر صفحاتتون codepage شون windows-1256 باشه مي توني از varchar استفاده کني ولي در صورتي که از utf8 استفاده مي کني بايد نوع فيلدهات رو nvarchar تعريف کني

  5. #5
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    زمان ثبت اطلاعات در query insert يک حرف N بزرگ قبل از فيلد قرار دهيد.

    مثال:

    insert into testTable (field1) values (N'value1')

  6. #6

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    نقل قول نوشته شده توسط m110_110 مشاهده تاپیک
    سلام
    اگر صفحاتتون codepage شون windows-1256 باشه مي توني از varchar استفاده کني ولي در صورتي که از utf8 استفاده مي کني بايد نوع فيلدهات رو nvarchar تعريف کني
    دوست عزيز اطلاعات مربوط به codepage‌صفحات رو از كجا بايد بدست بيارم؟؟؟

  7. #7

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    نقل قول نوشته شده توسط imanasp مشاهده تاپیک
    در sql server 2005 مسیر زیر را برای تعیین زبان دیتابیس دنبال کنید:
    بعد از کلیک راست روی دیتابیس مذکور
    properties-->option-->collaction
    سپس از لیست کشویی مقدار Arabic_CS_AS_KS_WS را انتخاب کنید تا مشکلاتان برطرف شود
    در sql server 2008‌ چيكار بايد كرد؟؟؟

  8. #8
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    نقل قول نوشته شده توسط SAMARE مشاهده تاپیک
    در sql server 2008‌ چيكار بايد كرد؟؟؟
    فرقي نمي کند.

    توجه: مراحل ذکر شده فوق مربوط به Sql Server Management studio مي باشد ، که براي sql server 2008 بايد sql server management studio 2008 را نصب کنيد.

    موفق باشيد.

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    مشهد
    پست
    144

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    منم به این مشکل برخوردم اما حالا اعداد فارسی رو ؟ نشون میده.
    درضمن Collation رو Arabic_CS_AS_KS_WS گذاشتم

  10. #10
    کاربر دائمی آواتار viper2009
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    گوشه کویر
    پست
    728

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    نقل قول نوشته شده توسط navidlog مشاهده تاپیک
    سلام به همه
    من یه سایت طراحی کردم که از بانک اطلاعاتی sql server 2005 استفاده می کنه
    از طریق یه صفحه اطلاعات رو به بانک اطلاعاتی وارد می کنم تا تو صفحات دیگه سایت نشونشون بدم. ولی کاراکترهای فارسی به صورت ؟ نشون داده می شن. مشکل چیه؟

    encoding بانک اطلاعاتی arabic_ci_ai تنظیم شده
    سلام

    با استفاده از درج بصورت پارامتر مشکلت حل میشه 100 درصد تضمینی

    این شکلی

    OleDbConnection con = new OleDbConnection(Str());
    OleDbCommand Com = new OleDbCommand();
    Com.Connection = con;
    Com.CommandText = "insert into tblReg VALUES (@nam,@last)";
    Com.Parameters.AddWithValue("@nam", txtNam.Text);
    Com.Parameters.AddWithValue("@last", txtLast.Text);
    con.Open();
    Com.ExecuteNonQuery();
    con.Close();

  11. #11
    کاربر دائمی آواتار moslem.hady
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    پشت میز کامپیوتر
    سن
    34
    پست
    661

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    نوع nvarchar و ntext براي فارسي. همون طور كه دوستان گفتن ميتوني يه N هم قبل ذخيره بذاري.

  12. #12

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    دوستان عزیز, برای این کار از روش ساده ی زیر میتونین استفاده کنین.فقط کافیه دستور SQL رو متناسب با دستور مورد نظرتون بنویسید.
    Capture.JPG

  13. #13
    کاربر دائمی آواتار mehdi.safavie
    تاریخ عضویت
    دی 1388
    محل زندگی
    تهران - اندیشه
    سن
    32
    پست
    219

    Thumbs up نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    دوستان من چقدر شلوغش میکنید یه مساله ساده رو چیزی نشده که
    شما فایل txt رو زمانی که میخوای ذخیره کنی * کافیه در قسمت Encoding سمت چپ دکمه Save رو روی حالت UTF-8 قرار بدی . و در هنگام ساخت فیلد ها در SQL از نوع Nvarchar باشه و زبان رو هم روی Persian_CI_AI بزار و Compatibility رو هم روی 100 بزار ** . دیگه مشکلی نداری .

    *(یه فایل txt بساز ، بعد گزینه Save As رو انتخاب کن و این کاری که گفتم رو انجام بده ، بعد متنی که قراره توی فایل txt باشه رو توش کپی کن و ادامه کار رو انجام بده )
    **(کلا هر DataBase ای که میسازی این تغییرات رو در قسمت زبان باید بدی . مگر این که زمان نصب SQL این تنظیمات رو انجام داده باشی که جناب رضا خارائی از مدیران بخش VB.NET در وب سایت خودشون مقالاتی برای آموزش گذاشتن که آموزش SQL هم شامل اونهاست میتونی بری و دانلود کنی که این تنظیمات رو ایشون قشنگ توضیح دادن :
    http://kharaee.com)
    موفق باشین

  14. #14

    نقل قول: ذخیره نشدن متن فارسی در بانک اطلاعاتی

    سلام
    دوست عزیز نوع فیلدتو در اس کیو ال nvarchar انتخاب کن
    بعد در هنگام دریافت اطلاعات از textbox مانند کد زیر از کلمه N بزرگ استفاده کن



    string connectionString = "Data Source = .//SQLEXPRESS ; Initial Catalog= database name ;Integrated Security= SSPI;";
    SqlConnection conObj = new SqlConnection(connectionString);
    string commandText = "Insert Into table name (lname,fname) values(N'"+TextBox3.Text+"',N'"+TextBox4.Text+"'+"')";
    SqlCommand cmdObj = new SqlCommand(commandText,conObj);
    conObj.Open();
    cmdObj.ExecuteNonQuery();
    conObj.Close();



برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •