كنترل پنل             جستجو               پرسشهای متداول            .:: آخرین پست‌های انجمن ::.            لیست اعضا            مدیران سایت             درجات        ورود
فهرست انجمن‌ها -> انجمن پشتيباني پروژه سيستم برگزاري آزمون آنلاين «تستا»
پاسخ دادن به این موضوع
مشكل با Collation ديتابيس
پست تاریخ: یکشنبه 2 اسفند 1388 - 00:30    
siamak-s
تازه به جمع ما پيوسته
تازه به جمع ما پيوسته


پست: 2
عضو شده در: 14 دی 1387



امتياز: 19

عنوان: مشكل با Collation ديتابيس خواندن مشخصات فردی ارسال پیام شخصی

ضمن عرض سلام خدمت آقاي نيرومند و تشكر بابت نرم افزار زيباي Testa

من برنامه ي جانبي با Visual basic نوشته ام كه اطلاعات يك ديتابيس اكسس را خوانده و ركورد هاي آن را وارد جدول users تستا مي كند ، امااز آنجايي كه Collation ديتابيس Testa ، Latin1_swedish_ci مي باشد ، بعد از ذخيره سازي در Encoding صفحات دچار مشكل هستم.
به اين نحو كه وقتي وارد صفحه ليست اعضا مي شود ، اطلاعات با كاراكتر هاي نادرست نمايش داده مي شوند و وقتي كه از منوي Encoding گزينه ي Arabic (1256) را انتخاب مي كنم ركوردها به درستي نمايش داده مي شود ، اما پيغام ها و متن هاي سيستم به درستي نمايش داده نمي شوند (زيرا Coding صفحات Testa Unicode مي باشد .)

اگر يك فايل اكسس ساخته و چند خط كد براي وارد سازي اطلاعات بنويسيد ، مشكل را مشاهده خواهيد كرد.
اگر من را در اين موضوع راهنمايي كنيد متشكر مي شوم ، و اگر اين مشكل رفع شود برنامه را براي استفاده ساير دوستان خواهم گذاشت. تا شايد من هم كمكي به نوبه ي خود در پيشرفت اين پروژه كرده باشم.
با تشكر

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: دوشنبه 3 اسفند 1388 - 01:01    
Hamid
مدیريت كل سایت
مدیريت كل سایت


پست: 5494
عضو شده در: 31 اردیبهشت 1384
محل سکونت: -::ساوه::-
iran.gif


امتياز: 47774

عنوان: پاسخ به «مشكل با Collation ديتابيس» خواندن مشخصات فردی ارسال پیام شخصی

siamak-s, جان،
سلام و ممنون از لطف شما.
در مورد این مشکل، والا من خیلی حرفه‌ای با VB کار نکردم. باید ببینید کار با Encodingها چطوره.
گاهی اوقات یک قطعه کد قبل از خواندن اطلاعات یک بانک، Encoding رو تصحیح می‌کنه. (مشکلی که من چندین بار باهاش برخورد داشتم و اون یک خط کد کارم رو راه انداخته)

اما گذشته از این‌ها، راهی که به نظر من می‌رسه برای بردن اطلاعات از اکسس به دیتابیس تستا، اینه که روی جدولی که در اکسس دارید، کلیک راست کنید و یک Export از نوع Excel بگیرید.
بعد در اکسل ستون‌ها رو با ستون‌های تستا هماهنگ کنید و خروجی csv بگیرید و حالا این csv رو Import کنید در دیتابیس تستا...
فکر می‌کنم اینطوری مشکلی پیش نیاد.

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: دوشنبه 3 اسفند 1388 - 13:15    
siamak-s
تازه به جمع ما پيوسته
تازه به جمع ما پيوسته


پست: 2
عضو شده در: 14 دی 1387



امتياز: 19

عنوان: پاسخ به «مشكل با Collation ديتابيس» خواندن مشخصات فردی ارسال پیام شخصی

ممنون از پاسخ شما.

زياد مهم نيست زبان برنامه نويسي شما با هر زباني كه برنامه بنويسيد ، فقط كافي هست يك كانكشن به ديتابيس تستا بسازيد ، يك كانكشن هم به اكسس و اونوقت با يك INSERT INTO اطلاعات رو وارد ديتابيس تستا كنيد.
من چندين هفتست تمام اينترنت رو به دنبال اين موضوع مي گردم ، خيلي چيزها رو هم تست كردم اما جوابي نگرفتم ، اگر Collation يونيكد بود باز مي تونستم جواب بگيرم ، اما Collation لاتين رو هنوز نتونستم كاري كنم.
براي اينكه در جريان گشت و گذارهاي من قرار بگيريد ، من اين دستورات رو براي تنظيم كدينگ ارتباط با ديتابيس پيدا كردم ، نزديك به 100 تا حالت هم امتحان كردم ، اما متاسفانه من نتونستم به جوابي برسم ، حالا شما شايد بتونيد:

کد:

    s.Execute "SET NAMES 'utf8';"
   's.Execute "SET CHARACTER SET 'latin1';"
    s.Execute "SET collation_connection='utf8_persian_ci';"
    s.Execute "SET collation_server='utf8_persian_ci';"
    s.Execute "SET collation_database='utf8_persian_ci';"
    s.Execute "SET character_set_client='latin1';"
    s.Execute "SET character_set_connection='utf8';"
    s.Execute "SET character_set_results='utf8';"
    s.Execute "SET character_set_database='utf8';"
    s.Execute "SET character_set_server='latin1';"


حالا اينكه چه تركيبي از اينها رو بايد براي اين بانك تستا و بانك اكسس استفاده كرد نمي دونم.
در مورد راهي كه گفتيد ، من برنامه نويس يك پروژه ي جدايي هستم براي يك اداره اي ، يكي از بخش هايي كه مي خوان در برنامه من باشه اين هست كه بتونن از اطلاعات پرسنلشون براي برنامه تستا خروجي بگيرند و به صورت اتوماتيك وارد تستا بشه. براي همين اگر خودم كاربر برنامه بودم قطعا راه حل شما پاسخ گو بود ، ولي اين جز يكي از ماژول هاي برنامه من هست كه ازم مي خوان.

با تشكر از توجه شما.

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: دوشنبه 3 اسفند 1388 - 22:58    
Hamid
مدیريت كل سایت
مدیريت كل سایت


پست: 5494
عضو شده در: 31 اردیبهشت 1384
محل سکونت: -::ساوه::-
iran.gif


امتياز: 47774

عنوان: پاسخ به «مشكل با Collation ديتابيس» خواندن مشخصات فردی ارسال پیام شخصی

siamak-s, جان،
شما چرا یونیکد رو روی همونی که تستا هست ست نمی‌کنی؟ یعنی همون latin1_swedish_ci
یعنی مثلاً :
کد:
s.Execute "SET collation_connection=latin1_swedish_ci';"

اگر نشد، یونیکد utf8_general_ci و یونیکد utf8_unicode_ci رو هم تست کنید ببینید مشکل رفع نمی‌شه.
به هر حال، من بیشتر به نوع connection مشکوکم.
من حقیقتاً چون برنامه‌نویسی سیستمی (مثل Visual #C) رو به سطح کار با دیتابیس نرسوندم، چندان در جریان اتصال‌ها و درج و حذف و ... نیستم. واقعاً نمی‌دونم چطور می‌تونم کمک کنم. Embarassed

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:


نمایش پستها:                 مشاهده موضوع قبلی :: مشاهده موضوع بعدی  
پاسخ دادن به این موضوع
 

صفحه 1 از 1

تمام زمانها بر حسب GMT + 3.5 Hours می‌باشند
 Related Topics 


 information 

 

پرش به:  
شما نمی توانید در این بخش موضوع جدید پست کنید
شما نمی توانید در این بخش به موضوعها پاسخ دهید
شما نمی توانید موضوع های خودتان را در این بخش ویرایش کنید
شما نمی توانید موضوع های خودتان را در این بخش حذف کنید
شما نمی توانید در این بخش رای دهید


Copyright 2004-2024. All rights reserved.
© by Aftabgardan Cultural Center : Aftab.cc