تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 11

نام تاپيک: مشکل در نمایش اطلاعات فارسی موجود در دیتابیس اکسس در وب فرم

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Jan 2008
    پست ها
    23

    5 مشکل در نمایش اطلاعات فارسی موجود در دیتابیس اکسس در وب فرم

    با سلام خدمت همه دوستان
    من در برنامه ای مجبورم تا از یک فایل اکسس اطلاعات را بخونم وقتی برنامه را روی سیستم خودم اجرا می کنم همه چی درسته و اطلاعات فارسی هم درست نمایش داده می شه. ولی بر روی وب ،تمامی اطلاعات فارسی موجود در دیتابیس اکسس بصورت "
    ÊÝÇæÊ ÊØÈíÞ
    " نمایش داده می شه در حالی در قسمتهای دیگه برنامه که از اس کیو ال استفاده میکنم مشکلی با فارسی ندارم ...

    لطفا راهنمایی کنید...
    Last edited by aslani60; 20-11-2012 at 08:15.

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    احتمالاً مشکلتان از کدینگ صفحه تان است...

    الف) باید فایل aspx تان را با فرمت UTF-8 ذخیره کنید:
    VS>File>Advanced Save Options>Encoding:UTF8-65001
    Notepad>File>Save As>Encoding:UTF8

    ب) سپس تگ متای زیر را به بخش head صفحه اضافه کنید.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ج) در SQLServer هم باید دقت کنید که نوع فیلدهایتان بجای char,varchar,text نوع nchar,nvarchar,ntext باشد.
    Last edited by _H2_; 20-11-2012 at 12:14.

  3. #3
    داره خودمونی میشه
    تاريخ عضويت
    Jan 2008
    پست ها
    23

    5 در جواب

    با تشکر از جواب شما، در advance save option من بطور پیش فرض روی ...65001 unicode(utf-8 with signature) - codepage
    تنظیم می باشد .. در ضمن من از source page استفاده می کنم برای همین من تگ <meta ...> را فقط در این صفحه اضافه کردم ولی این مشکل حل نشد...
    این مشکل فقط و فقط در این قسمت برنامه برام پیش اومده در تمام برنامه مه از اس کیو ال استفاده می کنم چنین مشکلی ندارم و همچنین وقتی روی سیستم خودم استفاده می کنم هیچ مشکلی نیست ولی وقتی فایل اکسس را آپلود می کنم و ازش می خونم این مشکل پیش می یاد

  4. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    ... در ضمن من از source page استفاده می کنم ...
    اگر منظورتان MasterPage است مطمئن شوید که تنظیم UTF8 را هم در MasterPage و هم ContentPage انجام داده اید.

    رشته اتصال تان هم که حتماً چیزی شبیه این ها است؟!
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    چگونه اطلاعات را از دیتابیس واکشی کرده اید؟ از DataSet استفاده کردید یا ... ؟

    گرچه بعید میدانم مشکل تان از این چیزها باشد ولی ترجیحاً تگ زیر را هم به web.config اضافه کنید.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اطلاعات داخل دیتابیس Access چطور وارد آن شده اند؟

    پیش فرض محکم دیگری برای مشکلتان ندارم ولی قطعاً چیز مهمی نیست و قابل حل است ، در صورت تمایل بخشی از پروزه تان را که مربوط به این مشکل است آپلود کنید تا بتوان دقیق بررسی کرد و مشکل را یافت.
    موفق باشید.

  5. #5
    داره خودمونی میشه
    تاريخ عضويت
    Jan 2008
    پست ها
    23

    14

    سلام

    دقیقا... فکر می کنم مشکل خاصی نیست ولی فعلا خیلی برای من مشکل زا شده. این فایل اکسس توسط یه برنامه جانبی از یه برنامه تحت داس ساخته می شه و این فایل ظاهرا اصلا مشکلی نداره .همونطور که گفتم وقتی از این فایل روی سیستم خودم استفاده می کنم مشکلی نیست ....
    رشته اتصال من هم دقیقا بصورت زیر است :
    ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Server.MapPath("~/AccessDB/ filename.mdb
    و مشکلی هم نیست کامل به دیتابیس وصل می شه و اطلاعات را هم می خونه ولی نمایشش مشکل داره...
    درضمن چون اطلاعات موجود در این فایل سازمانیه نمی تونم آپلودش کنم. ولی اگه فرصت دارید تا این فایل اکسس رابررسی کنید براتون ایمیل کنم...


  6. #6
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    ... برنامه جانبی از یه برنامه تحت داس ساخته می شه ...
    پس مشکل همین است.
    برنامه های تحت داس هیچ کدام یونیکدی عمل نمیکنند، اطلاعات شما احتمالاً در قالب ASCII و کدپیج قدیمی 1256 ذخیره شده است.
    و در رایانه خودتان درست عمل میکند چون پیش فرض زبان های غیر یونیکدی (Language for non-Unicode programs) در کنترل پنل رایانه شما تنظیم شده است.
    باید یا کل دیتابیس را یکجا یا هر فیلد را جداگانه و قبل از نمایش به UTF8 تبدیل کنید.

    اگر کد قطعی برای حل مشکل میخواهید باید نمونه کوچکی از دیتابیس با اطلاعات مشکلدار را داشته باشم ولی لازم نیست این دیتابیس کامل و پر باشد، کپی از دیتابیس اصلی تهیه کنید و تمام اطلاعات داخل آن بجز یک یا دو سطر را پاک کنید و سپس آپلود کنید.
    Last edited by _H2_; 30-11-2012 at 00:09. دليل: اشتباه تایپی در عدد 1265 بجای 1256

  7. #7
    داره خودمونی میشه
    تاريخ عضويت
    Jan 2008
    پست ها
    23

    1 فایل اکسس

    با تشکر از شما

    نمونه فایل اکسسی که باش کار می کنم ::

    در ضمن پسورد فایل aslani است.

    ممنون می شم بررسیش کنید.

  8. #8
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    کد زیر را برای تبدیل متن هایتان استفاده کنید.
    یا با کدی یکبار کل دیتابیس و تک تک فیلدها را تبدیل و در دیتابیس جدید ذخیره کنید و یا قبل از استفاده از هر مقدار string آن را با تابع زیر تبدیل کنید.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  9. #9
    داره خودمونی میشه
    تاريخ عضويت
    Jan 2008
    پست ها
    23

    12 با سلام و تشکر فراوان

    خیلی خیلی ممنون که وقت گذاشتین.فقط آخرین سوال........
    اگه بخوام کل اطلاعات دیتابیس اکسس را ببرم اس کیو ال باید از چه کدی باید استفاده کنم؟؟
    درواقع کل برنامه من هم به این صورت بود که اطلاعات را از اکسس با دستور bulkcopy به دیتابیس sql کپی می کردم و بعد از اون با sql کار می کردم. ولی بعد از بروز این مشکل اطلاعاتی که به sql کپی می شدن همین مشکل را داشتن.آیا کد خاصی هست که قبل از bulkcopy بشه همه اطلاعات را تبدیل کرد یا اینکه باید تک تک سطرها و اطلاعات را پیمایش و تبدیل کرد؟؟؟؟

  10. #10
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اگه بخوام کل اطلاعات دیتابیس اکسس را ببرم اس کیو ال باید از چه کدی باید استفاده کنم؟؟
    با جمیع شرایط ، روش تبدیل یک مرتبه کل اطلاعات به حداقل سه دلایل مختلف بهتر است.
    کار مشکلی هم نیست، یک کد کوچک با یک حلقه while کافی خواهد بود...
    کافیست دیتابیس منبع را با یک DataReader در حلقه while بخوانید و و پس از تصحیح فیلدهای متنی (با کدفوق) اطلاعات را در یک command در مقصد درج کنید.

    در واقع شما نیاز به یک SELECT روی منبع و یک INSERT روی مقصد دارید...
    برای نمونه کد کار با datareader و command هم میتوانید نگاهی به پست زیر بیاندازید:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]


    البته از bulkcopy هم میتوانید استفاده کنید، کافی است حلقه for را روی dataset اعمال کنید.
    موفق باشید.

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •