PDA

View Full Version : سوال: تاریخ فارسی و اعداد فارسی



thinksomid
شنبه 04 آبان 1387, 22:44 عصر
سلام به همه دوستان
من تازه عضو شدم و امیدوارم اولین سوالم با جواب خوبی روبرو بشه:قهقهه:
مشکل من در تاریخ فارسی هست
البته اشتباه نکنید
نمیخوام تاریخ واقعی وارد کنم یا نمایش بدم
در واقع مشکل من اعداد فارسی هست
من توی کنترل پنل وب سایت CMS یک textbox دارم که string میگیره مثلا 87-8-4 یا 87/8/4
ولی وقتی کاربر سایت فارسی رو باز میکنه کاراکتر ها به همین شکلی که بالا نوشتم نمایش میشه
میخوام بدونم به چه چیزایی بستگی داره و باید چیکار کنم
ممنون از لطف شما

توضیح:
زبان c#.net2
دیتابیس sql2005
فیلد تاریخ nvarchar هست ولی بدون N ورود اطلاعات میشه که البته با اینکار هم ظاهرا درست نشد
Collation دیتابیس هم Latin1_General_CI_AS هست
چون سایت یک CMS چندزبانه هست مجبورم توی MasterPage جهت dir زبا جاری رو اول تشخیص بدم بعد با استفاده از Page.Theme صفحه رو به Theme مورد نظر مثلا Main برای زبانهای چپ براست و MainR برای زبانهای راست به چپ متصل کنم که اونجا یک فایل css هست که فقط توی تگ Body جهت dir=rtl گذاشتم و کل مشکلات رو حل میکنه.

mahdi_farhani
شنبه 04 آبان 1387, 23:32 عصر
من که نفهمیدم چیکار میخواهی بکنی .....
مشکلت تو نمایش اعداد هست . یعنی باید 1 رو بصورت یک انگلیسی نمایش بده و زمانی که فارسی میشه به 1 فارسی نمایش بده ؟ اگر این باشه dir و align رو که تغییر بدی انگلیسی میشه
ولی اگر مشکل چیزه دیگه ای هست بیشتر توضیح بده

Sajjad.Aghapour
یک شنبه 05 آبان 1387, 01:08 صبح
کد اسکی اعداد فارسی از 1632 شروع میشه.فکر کنم کدی مثل کد زیر کارت رو راه بیاندازه


for (int i = 48; i <= 57; i++)
{
textBox1.Text = textBox1.Text.Replace((char)i, (char)(i + 1584));
}
//
//
SqlConnection conn = new SqlConnection("server=(local);database=sa;integrated security=true");
SqlCommand cmd = new SqlCommand("insert into myTB (num) values (@num)", conn);
cmd.Parameters.Add("@num", SqlDbType.NVarChar).Value = textBox1.Text;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();