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

نام تاپیک: علامت ؟ به جای حروف فارسی در SQL

  1. #1

    Question علامت ؟ به جای حروف فارسی در SQL

    با سلام
    من موقعی که در برنامه می خوام اطلاعاتی رو به فارسی ثبت کنم به جای کاراکترهای فارسی علامت ؟ نمایش داده می شه.
    در SQL هیچ مشکلی نیست . موقع تایپ در SQL و ثبت همه چیز عادیه و فارسی ثبت میشه در حالی که در برنامه مشکل هستش.
    قبلاً با این برنامه کار کردم و اطلاعات درست ثبت می شد اما یه شبه این اتفاق افتاده.
    من فکر می کنم نه مشکل از SQL و نه C#‎ این مشکلیه که ویندوز به وجود آورده شما چی می گید ... ؟؟؟

  2. #2

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    SqlCommand com = new SqlCommand("INSERT INTO Table1 (source) VALUES (N'" + source_values + "')", conection);
    این N مشکلت رو حل میکنه
    موفق باشید

  3. #3
    کاربر دائمی آواتار afsharm
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    http://paysa.ir
    پست
    255

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    وقتی که از توی خود دیتابیس (مثلا در SQL Server Management Studio) اطلاعات را می‌بینید باز هم علامت سوال دیده می‌شود؟

  4. #4

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    نقل قول نوشته شده توسط afsharm مشاهده تاپیک
    وقتی که از توی خود دیتابیس (مثلا در SQL Server Management Studio) اطلاعات را می‌بینید باز هم علامت سوال دیده می‌شود؟
    بله همين طور است

  5. #5

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    نقل قول نوشته شده توسط xcomlock مشاهده تاپیک
    SqlCommand com = new SqlCommand("INSERT INTO Table1 (source) VALUES (N'" + source_values + "')", conection);
    این N مشکلت رو حل میکنه
    موفق باشید
    براي همه رشته ها اين N رو بذارم يا يكي براي همه كافيه

  6. #6

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    اگه برات امکان داره Collection سرورت و دیتابیست رو عوض کن، که نخوای با nvarchar کار کنی و varChar کارتو راه میندازه.

  7. #7

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    Collection رو هم درست ست كردم و فيلدي هم براي آزمايش varchar گذاشتم ولي باز هم اين مشكل هست . مشكل از جاي ديگس چون اين برنام رو روي كامپيوتر ديگه تست كردم درست بود شايد مشكل از ويندوز باشه ؟؟!!

  8. #8

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    نقل قول نوشته شده توسط hozouri مشاهده تاپیک
    Collection رو هم درست ست كردم و فيلدي هم براي آزمايش varchar گذاشتم ولي باز هم اين مشكل هست . مشكل از جاي ديگس چون اين برنام رو روي كامپيوتر ديگه تست كردم درست بود شايد مشكل از ويندوز باشه ؟؟!!
    اولا Collection نیست و Collation!
    اگه موقع اضافه کردن N قبل از رشته بزاری حل میشه. به ویندوز ربطی نداره.

  9. #9

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    نقل قول نوشته شده توسط afsharm مشاهده تاپیک
    وقتی که از توی خود دیتابیس (مثلا در SQL Server Management Studio) اطلاعات را می‌بینید باز هم علامت سوال دیده می‌شود؟
    خوب اگه اینطوره یعنی شما در زمان نصب SQL زبان Arabic رو براش نصب نکردید چون من دقیقا همین مشکل رو داشتم و با تغییر زبانش مشکل حل شد . ولی اگه اطلاعاتت از داخل دیتابیس قابل رویته مشکلت همون N هست.

  10. #10
    کاربر دائمی آواتار afsharm
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    http://paysa.ir
    پست
    255

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    Collation یا زبان مربوط به مواردی مثل نحوه سورتینگ یا فرمت تاریخ و ساعت است و ربطی به اطلاعات داخل جداول ندارد. اگر فیلدی از نوع nchar یا nvarchar تعریف شده باشد قابلیت ذخیره کاراکترهای ۲ بایتی یونیکد و در نتیجه الفبای زبان فارسی را دارد.
    اگر همانطور که گفتید اطلاعات را از داخل دیتابیس هم به صورت علامت سوال می‌بینید فکر می‌کنم به دردسر افتاده‌اید. این یعنی SQL Server در هنگام ورود اطلاعات نفهمیده شما چه می‌گویید و به جای اطلاعات شما علامت سوال وارد کرده است. متاسفانه (تا آنجا که من می‌دانم) در این حالت اطلاعات شما از بین رفته است و باید از اول وارد شود.
    برای جلوگیری از وقوع این مشکل همان طور که همه دوستان اشاره کردند در هنگام ورود اطلاعات به جداول از عملگر N استفاده کنید. این عملگر به SQL Server می‌گوید که با این رشته به صورت کاراکترهای یونیکد (۲ بایتی) برخورد کند.

  11. #11
    کاربر تازه وارد آواتار daneshjoo2
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    83

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    با سلام
    یه راه دیگه علاوه بر استفاده از N ، استفاده از پارامترهاست، بدین صورت که بعد از نوشتن SQLCommand مقادیر رو به صورت پارامتر بهش اضافه کنی. از مزیت این راه امنیت و validate شدن اطلاعات قبل از ورود به دیتابیسه.

  12. #12

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    خب از راهنمايي شما ممنونم ولي چرا وقتي ويندوز رو عوض كردم (همون ويندوز قبلي رو هم نصب كردم)
    ديگه اين مشكلات پديدار نشد اگه اين ها مربوط به SQL باشه پس الآن هم نبايد درست عمل كنه !!!

  13. #13
    کاربر دائمی آواتار afsharm
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    http://paysa.ir
    پست
    255

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    نقل قول نوشته شده توسط hozouri مشاهده تاپیک
    خب از راهنمايي شما ممنونم ولي چرا وقتي ويندوز رو عوض كردم (همون ويندوز قبلي رو هم نصب كردم)
    ديگه اين مشكلات پديدار نشد اگه اين ها مربوط به SQL باشه پس الآن هم نبايد درست عمل كنه !!!
    یعنی همون دیتابیس را در ویندوز دیگری مورد استفاده قرار دادی و همه چیز درست شد؟ چه از داخل برنامه خودتان چه به طور مستقیم از داخل SQL Server؟

  14. #14

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    نقل قول نوشته شده توسط afsharm مشاهده تاپیک
    یعنی همون دیتابیس را در ویندوز دیگری مورد استفاده قرار دادی و همه چیز درست شد؟ چه از داخل برنامه خودتان چه به طور مستقیم از داخل SQL Server؟
    بله دقیقاً همه موارد صادق بود ... فکر کنم مشکل از آپدیت ویندوز باشه !

  15. #15
    کاربر دائمی آواتار afsharm
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    http://paysa.ir
    پست
    255

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    به نظر می‌آد اطلاعات مورد نظر به صورت غیر یونیکد ذخیره شده باشن. چون به ویندوز و کدپیج پیش فرض آن وابسته هستند. بهتره همه فیلدها از نوع nchar یا nvarchar تعریف شده و به هنگام ورود اطلاعات از عملگر N استفاده شود. اینطوری هر وقت که ویندوز عوض کردی این اتفاق نمی‌افته.

  16. #16
    کاربر تازه وارد آواتار Sociant
    تاریخ عضویت
    آبان 1387
    محل زندگی
    اراک
    پست
    88

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    نقل قول نوشته شده توسط afsharm مشاهده تاپیک
    بهتره همه فیلدها از نوع nchar یا nvarchar تعریف شده و به هنگام ورود اطلاعات از عملگر N استفاده شود. اینطوری هر وقت که ویندوز عوض کردی این اتفاق نمی‌افته.
    همه این کارها رو انجام دادم ولی بازم بشکل علامت سوال ذخیره میشه!!!
    چرا؟!!


    "Insert Into lab_married(male_name,male_father_name,male_age,"
    + "female_name,female_father_name,female_age) Values(N'" + textBoxMName.Text + "',N'"
    + textBoxMFatherName.Text + "',N'" + textBoxMAge.Text + "',N'" + textBoxFName.Text + "',N'"
    + textBoxFFatherName.Text + "',N'" + textBoxFAge.Text + "')";

  17. #17
    کاربر دائمی آواتار afsharm
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    http://paysa.ir
    پست
    255

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    نقل قول نوشته شده توسط Sociant مشاهده تاپیک
    همه این کارها رو انجام دادم ولی بازم بشکل علامت سوال ذخیره میشه!!!
    چرا؟!!


    "Insert Into lab_married(male_name,male_father_name,male_age,"
    + "female_name,female_father_name,female_age) Values(N'" + textBoxMName.Text + "',N'"
    + textBoxMFatherName.Text + "',N'" + textBoxMAge.Text + "',N'" + textBoxFName.Text + "',N'"
    + textBoxFFatherName.Text + "',N'" + textBoxFAge.Text + "')";
    این طور که پیداست فراخوانی این کد به صورت Embeded است یعنی از داخل C#‎‎ یا وبی یا دلفی صدا زده می‌شه. مطمئن نیستم در این طور حالات نیازی به استفاده از عملگر N باشد. یک بار هم بدون N استفاده کن. ببین درست می‌شه یا نه.

  18. #18
    کاربر جدید
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    کره زمین
    پست
    15

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    سلام.منم همین مشکل رو دارم ، همه کارهایی که دوستان تو پست های قبلی گفتن رو هم انجام دادم.ولی هنوز مشکل دارم.من از vs 2008 استفاده می کنم و SQL sever 2005. به اینا که ربطی نداره؟!!

  19. #19

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    درود بر همه دوستان
    منم يه روزي اين مشكلو داشتم ولي حل شد.
    براي حل اين مشكل بايد در زمان ساخت بانك اونجايي كه اسم بانكو تعيين ميكنيد پايين صفحه از قسمت collation name گزينه ي arabic_ci_ai رو انتخاب كنيد.
    البته از نوع nvarchar هم استفاده كنيد.

    حامد رشنو...


  20. #20

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    سلام البته خیلی از زمان این پست میگذره اما خوب من هم تجربه ی خودم رو قرار می دم برای استفاده آیندگان...
    من این مشکل رو داشتم از پارامتر N استفاده کردم و البته تعریف بانک رو روی nvarchar قرار دادم اگر از پارامتر N استفاده کنیم ولی تعریف بانک روی nvarchar نباشه عمل نمیکنه
    ممنون.

  21. #21
    کاربر دائمی آواتار alireza264
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    264

    نقل قول: علامت ؟ به جای حروف فارسی در SQL

    نقل قول نوشته شده توسط javady_joon مشاهده تاپیک
    سلام البته خیلی از زمان این پست میگذره اما خوب من هم تجربه ی خودم رو قرار می دم برای استفاده آیندگان...
    من این مشکل رو داشتم از پارامتر N استفاده کردم و البته تعریف بانک رو روی nvarchar قرار دادم اگر از پارامتر N استفاده کنیم ولی تعریف بانک روی nvarchar نباشه عمل نمیکنه
    ممنون.
    سلام
    مشکل این دوستمون توی استفاده از فارسی ساز کیبرده بجای Fa احتمالا از FAS استفاده میکرده بهمین خاطر بعد نصب مجدد ویندوز مشکلش هم حل شده

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

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

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