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

مرجع کلیه مسائل مربوط به فارسی

mo_ra1379

کاربر تازه وارد
تاریخ عضویت
12 می 2006
نوشته‌ها
93
لایک‌ها
2
بچه ها میلاد جان ساعت رو هم می خواست که هیچ کی نداد ... برای ساعت می تونی ساعت و دقیقه و ثانیه رو از سرور بگیری و بعد با یه الگوریتم تقریبا ساده (دو سه تا شرط) اونو تبدیل کنی به یه ساعت تهران .خیلی سخت نیست.
 

winter

کاربر تازه وارد
تاریخ عضویت
4 فوریه 2006
نوشته‌ها
58
لایک‌ها
0
سلام علیکم،

سوال من در مورد مساله ای هست که تقریباً اسم مبحثش را هم نمیدونم! اگر موقع جستجو در گوگل یا بعضی سایتهای دیگه دقت کرده باشید وقتی یک واژه فارسی را وارد میکنیم در صفحه نتایج، واژه وارد شده ما به شکل query string توی آدرس صفحه هست ولی با یه فرمت خاصی. مثلا اگر کلمه "تست" را وارد کنیم در نتایج این را در آدرس داریم : q=%D8%AA%D8%B3%D8%AA .

حالا سوال من اینه که این چه تبدیلیه و چه طوری میشه انجامش داد؟ آیا دات نت کلاسهایی برای این کار داره؟

مرسی.
 

m3hrz4d

Registered User
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
620
لایک‌ها
1
محل سکونت
اصفهان
یه روش کد کردنه که کاراکتر ها رو بر اساس یونیکد میکنه و کنارشون یه % میگذاره که برای Special Characters بکار میره مثل فاصله یا حروف فارسی...مثلا برای فاصله 20% که 16(20)= 10(32) که 32 کد اسکی فاصله هستش
اما از الگوریتمش در مورد حروف فارسی چیزی سر در نیاوردم .ظاهرا چون این حروف 2 بایتی هستن اون ها رو 2 قسمت (مثلا بایت بالایی و پایینی ) تقسیم میکنه یا یه همچین چیزی....
توی جاوا اسکریپت یا دات نت میتونی با استفاده از دستورات Escape و Unscape این کار رو انجام بدی(احتمالا در System.Text برای دات نت)
 

winter

کاربر تازه وارد
تاریخ عضویت
4 فوریه 2006
نوشته‌ها
58
لایک‌ها
0
مرسی از جوابت ولی هنوز یه مقداری واسم گنگه. اگر بر اساس یونیکد کد میکنه پس چرا فاصله را به کد اسکیش نگاشت میکنه؟!!

این دستوراتی هم اسم بردی اگر یه مثال از طرز کارشون بزنی ممنون میشم یا اگه اطلاعاتت را از اینترنت گرفتی و لینکش را برام بذاری خیلی عالیه.

باز هم مرسی.
 

m3hrz4d

Registered User
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
620
لایک‌ها
1
محل سکونت
اصفهان
در مورد سوال اولت.چون عدد یونیکد کاراکتر های اسکی همون عدد اسکیشون میشه.یعنی اسپیس که یک کاراکتر اسکیه و کد اسکیش 20h بنابراین یونیکدش هم همون 20h میشه.اما حروف فارسی اینطور نیست.
توی جاوا اسکریپت دستور escape رو داریم که مشابه این کار میکنه مثلا
کد:
alert(escape("تست"))

و توی دات نت هم من دفعه ی قبلی اشتباه گفتم. باید از Server.UrlEncode برای کد کردن و از Server.UrlDecode برای دیکد کردن استفاده کرد مثلا :

کد:
<%@page debug=true%>
<script language=vb runat=server>
Private Sub Page_Load(Byval sender as Object,e as EventArgs)
	Response.Write(Server.UrlEncode("تست"))
End Sub
</script>
<form runat=server></form>

منبا هم زیاده توی گوگل همین UrlEncode رو سرچ کن
 

winter

کاربر تازه وارد
تاریخ عضویت
4 فوریه 2006
نوشته‌ها
58
لایک‌ها
0
ای ول ، من همینو میخواستم. این Server.UrlEncode و Server.UrlDecode دقیقاً جواب سوال من بود. البته اون تابع escape هم کد میکنه ولی ظاهراً به یک character set دیگه.

راستی در مورد این یکی بودن کد یونیکد و اسکی کاراکترهای اسکی من نمیدونستم. یعنی کلا در مورد سیستم های کدینگ اطلاعاتم کمه. به هر حال مرسی که گفتی.

دست شما درد نکنه.
 

alirezassar

کاربر تازه وارد
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
27
لایک‌ها
0
من asp 3 کار می کنم . میخوام تو فیلد هایsql اطلاعات فارسی وارد کنم ولی کارکتر های خرچنگ قورباغه نشون میده .


میدونم برای وارد کردن مقادیر فارسی در فیلدهای sqlباید فیلدمون از نوع nvarchar یا هر نوع فیلدی که با n شروع میشه انتخاب کرد .

از تگهای زیر هم استفاده کرده ام :

<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

در ضمن دستور insert رو هم به شکل زیر نوشتم:

INSERT INTO mytable (name) VALUES ('"&request.form("txt1")&"') <<<p

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

اشکال کار کجاست ؟؟ اگه باید تو کد تغییر بدم ؛ چه جوری میشه ؟؟؟
 

mojtabax

کاربر تازه وارد
تاریخ عضویت
20 جولای 2005
نوشته‌ها
227
لایک‌ها
1
سن
39
محل سکونت
Shiraz
شما از توی SqlServer Enterprise Manager داده ها رو خرچنگ قورباغه میبینی یا از توی صفحه وب ...
اگه توی یه صفحه وب اونا رو چاپ کنی باید درست نشون بده...
 

mehdivk

Registered User
تاریخ عضویت
5 آپریل 2006
نوشته‌ها
319
لایک‌ها
0
سلام دوست عزیز جهت درج اطلاعات فارسی با استفاده از ASP این 2 کار را انجام بده مشکلت حل میشه

<%Session.CodePage = 65001%>​

و در مواقعی که میخوای عمل INSERT یا همون درج را با استفاده از INSERT INTO انجام بدی به این صورت عمل کن

INSERT INTO YOUR_TABLE_NAME VALUES (N'YOUR_PERSIAN_VALUE')​

این N قبل از هر فیلدی که قراره اطلاعات فارسی در آن ریخته بشه باید قرار بگیره و البته آن مقدار فارسی باید بین 2 تا کوتیشن قرار بگیره و N قبل از کوتیشن ها
 

rmb_ali

Registered User
تاریخ عضویت
15 مارس 2003
نوشته‌ها
1,218
لایک‌ها
21
به نقل از mehdivk :
سلام دوست عزیز جهت درج اطلاعات فارسی با استفاده از ASP این 2 کار را انجام بده مشکلت حل میشه

<%Session.CodePage = 65001%>​

و در مواقعی که میخوای عمل INSERT یا همون درج را با استفاده از INSERT INTO انجام بدی به این صورت عمل کن

INSERT INTO YOUR_TABLE_NAME VALUES (N'YOUR_PERSIAN_VALUE')​

این N قبل از هر فیلدی که قراره اطلاعات فارسی در آن ریخته بشه باید قرار بگیره و البته آن مقدار فارسی باید بین 2 تا کوتیشن قرار بگیره و N قبل از کوتیشن ها
من اين مشكل رو داشتم تنظيمات languge رو دستكاري كردم دست شد
 

faridasp

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2006
نوشته‌ها
3
لایک‌ها
0
سلام به همه .
کسی می تونه به من کمک کنه :
چطور میشه کدپیج یک صفحه َasp رو برای تایپ فارسی از پیش تعیین کرد . مثل همین فروم!
یعنی طوری که بدون نیاز به تغییر زبان کاربر بتونه فرم رو فارسی پر کنه.
ممنون
 

mehdi25

کاربر تازه وارد
تاریخ عضویت
28 اکتبر 2004
نوشته‌ها
1,318
لایک‌ها
2
محل سکونت
طهران
تو همین انجمن سرچ بزن به جوابت میرسی
 

alirezassar

کاربر تازه وارد
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
27
لایک‌ها
0
خیلی ممنون ، وقتی از CodePage = 65001 استفاده کردم درست شد
 

mehdivk

Registered User
تاریخ عضویت
5 آپریل 2006
نوشته‌ها
319
لایک‌ها
0
خوب خدا را شکر که مشکل شما هم حل شد :D
 

H_R

مدیر بازنشسته
تاریخ عضویت
30 مارس 2005
نوشته‌ها
3,298
لایک‌ها
17
سن
42
محل سکونت
North Pole
اون N رو حتما بذارید ! و لازم نیست تنظیماتlanguage رو هم دستکاری کنید !
 

amirlol

کاربر تازه وارد
تاریخ عضویت
9 می 2005
نوشته‌ها
47
لایک‌ها
0

mazoolagh

Registered User
تاریخ عضویت
10 آپریل 2004
نوشته‌ها
2,938
لایک‌ها
7
میتونی از hoom کمک بگیری - اینو قبلا بطور کامل درست کرده بود!
 

H_R

مدیر بازنشسته
تاریخ عضویت
30 مارس 2005
نوشته‌ها
3,298
لایک‌ها
17
سن
42
محل سکونت
North Pole
توی سایت iranasp.net یه نفر یه همچین چیزی درست کرده بود یه سرچ بکنی یوزر کنترلش رو پیدا میکنی سایت خودش هم روی brinkster بود !
 
بالا