PDA

View Full Version : مشکل در وارد کردن جملات فارسی همراه با عبارات انگلیسی



davidoff
سه شنبه 26 دی 1385, 18:28 عصر
سلام به همه
سوال من اینه که من یه دیتابیس در SQL Server 2005 زیرمجموعه Visual Studio.NET برای وب سایتم طراحی کردم. مسئله من اینه که در داخل دیتابیس میخوام جملات ترکیبی فارسی و انگلیسی وارد کنم که در این صورت ساختار جملات به هم میریزه ، در واقع فکر می کنم همه شما این مورد رو در ورد دیده باشید؛
مثلاً اگر بخوام وارد کنم :

این برنامه با Visual Basic نوشته شده

نتیجه میشه

نوشته شده Visual Basic این برنامه با .

فیلد رو چه از نوع Varchar یا nVarchar یا text یا nText معرفی کنم این اتفاق میفته.
Collation رو هم اگر default یا Arabic-> windows هم که باشه درست نمیشه؟
ممنون میشم اگر من رو راهنمایی کنید.

davidoff
شنبه 30 دی 1385, 11:44 صبح
سلام
کسی نیست به من کمک کنه !
من بشدت گیر کردم

AminSobati
شنبه 30 دی 1385, 12:36 عصر
دوست عزیزم،
ورود اطلاعات از چه طریقی انجام میشه؟ Web App یا Win App؟

Neeloofar
شنبه 30 دی 1385, 19:57 عصر
سلام

شما اصلا به نحوه ثبت این گونه اطلاعات در سلولهای جدول دیتابیس توجهی نکن. به نوع فیلد هم ربطی نداره!
توسط همون برنامه ای که این اطلاعات رو ثبت کردید، دوباره اطلاعات رو باز کرده و مشاهده کنید.
در برنامه ای که طراحی کردید TextBox یا Label مربوطه رو به RighToLeft تنظیم کن.

اگر هم لازم هست در سلولهای جدول در خود SQL Server (یا هر جدول دیگه) اطلاعات رو درست مشاهده کنید کافی روی یکی از سلولها کلیدهای کنترل+شیفت سمت راست کیبورد را همزمان فشار دهید. اونوقت سلولها در هنگامی که کلیک میکنید خودبخود راست به چپ میشوند و میتونید عبارات بالا را بدون مشکل ببینید یا ویرایش کنید.. ولی این تنظیم با بسته شدن جدول از بین میره.
کنترل+شیفت سمت چپ کیبورد دوباره به حالت چپ به راست نمایش میده.



توجه داشته باشید اطلاعات برعکس ذخیره نمیشوند. بلکه فقط جهت نمایش اونا چپ به راست هست. و توسط یک کنترل که قابلیت نمایش راست به چپ داره درست مشاهده و ثبت میشوند.


موفق باشید

master13111
دوشنبه 02 بهمن 1385, 07:29 صبح
با این راه حل فقط نمایش داده ها درست می شه ولی در هنگام گزارش گیری مشکل پا برجاست. مثلا "پژو GLX "در هر صورتی که شما تنظیم کنید" GLX پژو " چاپ میشه و جالبه که حتی در خود اسکیوال هم به همین صورت ذخیره شده.

Neeloofar
سه شنبه 03 بهمن 1385, 00:27 صبح
با این راه حل فقط نمایش داده ها درست می شه ولی در هنگام گزارش گیری مشکل پا برجاست. مثلا "پژو GLX "در هر صورتی که شما تنظیم کنید" GLX پژو " چاپ میشه و جالبه که حتی در خود اسکیوال هم به همین صورت ذخیره شده.
بازم تاکید میکنم که شما کاری به نحوی ثبت یک جمله مختلط در یک سلول از جدول نداشته باشید.
شما فقط از ابزارهایی در برنامه (تحت ویندوز یا وب) استفاده کنید که امکان نمایش راست به چپ اطلاعات رو داشته باشه.
همینطور در ریپورت. اگر از کریستال استفاده میکنید در تنظیمات پاراگراف هر فیلد در گزارش خصوصیت راست به چپ اونو رو فعال کنید.
مطمئن باشید در SQL هر طور که نوشتید همانطور هم دریافت میکنید و در اصل چیزی بر عکس ذخیره نمیشه.

موفق باشید:چشمک:

linux
سه شنبه 03 بهمن 1385, 00:54 صبح
بازم تاکید میکنم که شما کاری به نحوی ثبت یک جمله مختلط در یک سلول از جدول نداشته باشید.
شما فقط از ابزارهایی در برنامه (تحت ویندوز یا وب) استفاده کنید که امکان نمایش راست به چپ اطلاعات رو داشته باشه.
همینطور در ریپورت. اگر از کریستال استفاده میکنید در تنظیمات پاراگراف هر فیلد در گزارش خصوصیت راست به چپ اونو رو فعال کنید.
مطمئن باشید در SQL هر طور که نوشتید همانطور هم دریافت میکنید و در اصل چیزی بر عکس ذخیره نمیشه.

موفق باشید:چشمک:
حرف شما کاملا درست هست.در ویندوز و ذخیره کردن اطلاعات بصورت یونیکد یا codepage 1256 برای هر حرف یک نشانه ذخیره می شود و این وظیفه ویندوز هست که درست اطلاعات ذخیره شده را نمایش دهد. مثلا برای این جمله "پژو" به صورت " پ‌ژو" ذخیره می شود این وظیفه ویندوز هست که با توجه به جای قرار گرفتن حرف و نوع حرف شکل درست حرف را نمایش دهد.چون اطلاعات در نوشته های لاتین از چپ به راست نمایش داده می شود اگر کلمه "پژو GLX" را در یک فایل تکتس ذخیره کنید و با یک ویرایشگر hex نگاه کنید اینجور ذخیره شده است "GLX وژ‌پ" نمایش آن بصورت "GLX پژو" شاید منطقی باشد. شاید هم یک ایراد!
با تنظیم کردن تکتس باکس بصورت RTL بصورت دلخواه شما نمایش داده خواهد شد اگر هنوز هم این مشکل شما را بر آورده نمی کند پس از اتمام قسمت فارسی از کارکتر RLE (U+202B RIGHT-TO-LEFT EMBEDDING) استفاده کنید ولی به هر حال این باعث می شود که در جستجو به مشکل برخورد کنید

master13111
یک شنبه 08 بهمن 1385, 08:07 صبح
من با کریستال کار نکردم ولی quickreport و rave report خصوصیت راست به چپ ندارند. و فقط نوع چیدمانشون تنظیم میشه. اما اگه کریستال این امکان رو داره باید خطمو عوض کنم.

linux
یک شنبه 08 بهمن 1385, 18:10 عصر
برای گزارش گیری ابزار موجود در خود .نت یکی از بهترین گزینه هاست