PDA

نسخه کامل مشاهده نسخه کامل : اگه encoding صفحه رو مشخص نکنیم مرورگر از کجا می تونه بفهمه که صفحه utfهست؟



ali zi zeperto
18-05-2011, 10:32
سلام
این سایت
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید نوع charset رو مشخص نکرده ولی محتویات سایت که فارسی هم هست درست نشون داده میشه.دلیلش چیه؟یعنی مرورگر احتیاجی به این مساله نداره یا اینکه از جای دیگه متوجه میشه؟

Web Design
18-05-2011, 10:50
این با asp تنظیم کرده نوع charset رو

ali zi zeperto
18-05-2011, 11:07
این با asp تنظیم کرده نوع charset رو
یعنی تگ html ی واسه اینکار لازم نیست؟میشه یه کم بیشتر توضیح بدید یا لینک یه مطلب بدید که من در این مورد بیشر اطلاعات کسب کنم.خیلی ممنون

Web Design
18-05-2011, 11:11
کلا این سایت بر خلاف تفکر شما از encoding استفاده میکنه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اما کلا این یه راهه با asp.net 4

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Mehdis87
18-05-2011, 11:14
سلام
این سایت
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید نوع charset رو مشخص نکرده ولی محتویات سایت که فارسی هم هست درست نشون داده میشه.دلیلش چیه؟یعنی مرورگر احتیاجی به این مساله نداره یا اینکه از جای دیگه متوجه میشه؟
خوب اولا تایین کرده ایناهاش :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دوما مرور گر ها معمولا اگه چارست تعیین نشده باشه , بصورت اتوماتیک سعی میکنن نوع انکودینگ رو حدس بزنن , بخاطر همین بعضی وقت ها ممکنه موفق بشن بعضی وقت ها نه !!

ali zi zeperto
18-05-2011, 12:02
خوب اولا تایین کرده ایناهاش :
معذرت می خوام.من آدرس صفحه اولش رو زدم.این صفحه هم مال همون سایته که نداره.فکر کنم فقط صفحه اولش encoding رو مشخص کرده.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Mehdis87
18-05-2011, 12:08
تو منو قسمت انکودینگ نگاه کنید , میبینید نوشته automatic selection
یعنی خودش تشخیص میده از رو محتوای صفحه !

Web Design
19-05-2011, 09:02
دوست من همچنین امکان داره از .htaccess استفاده کرده باشه که شما نمیتونی ببینیش

neopersia
20-05-2011, 08:33
اصلاً این تگ انکودینگ که توی HTML استفاده میشه جایگزین هدر Content-Type هست که از سرور ارسال میشه. فرقی هم نداره که چه زبانی در سرور به کار رفته باشه چون همه زبانهای تحت وب این امکان رو دارند که هدرها رو دستکاری کننده
یعنی اینکه مرورگر اول هدر Content-Type رو در پاسخ دریافتی از سرور چک میکنه. اگر اون وجود نشده باشه متا تگ رو چک میکنه میکنه اگر اون هم وجود نداشته باشه دیگه مرورگر انتخاب میکنه چه انکودینگی استفاده بشه

ali zi zeperto
20-05-2011, 09:39
اصلاً این تگ انکودینگ که توی HTML استفاده میشه جایگزین هدر Content-Type هست که از سرور ارسال میشه. فرقی هم نداره که چه زبانی در سرور به کار رفته باشه چون همه زبانهای تحت وب این امکان رو دارند که هدرها رو دستکاری کننده
یعنی اینکه مرورگر اول هدر Content-Type رو در پاسخ دریافتی از سرور چک میکنه. اگر اون وجود نشده باشه متا تگ رو چک میکنه میکنه اگر اون هم وجود نداشته باشه دیگه مرورگر انتخاب میکنه چه انکودینگی استفاده بشه
به این می گن جواب.البته باقی دوستان هم کمک کردن ولی این اون چیزیه که دنبالش بودم.با این حساب اگر بتونم هدر http رو یه جوری بخونم مشکلم حله دیگه؟راهی نداره که غیر از کد نویسی بشه این مساله رو حل کرد؟یعنی بفهمم که hencoding اون صفحه چیه؟

ali zi zeperto
20-05-2011, 10:13
الان با یه کد php هدر http رو گرفتم.این اطلاعات رو داده که توش زده encoding ش utf-8 ولی من موندم که این چه جور utf ی که با هیچ برنامه ای نمیشه خوندش.با جاوا و پی اچ پی امتحان کردم.فقط مونده خوده asp که اونم بلد نیستم.

[0] => [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] 302 Found
[1] => Date: Fri, 20 May 2011 06:20:37 GMT
[2] => Server: Microsoft-IIS/6.0
[3] => X-Powered-By: ASP.NET
[4] => Content-Encoding: gzip
[5] => Location: /GeneralError.aspx?aspxerrorpath=/loader.aspx
[6] => Cache-Control: private
[7] => Content-Type: text/html; charset=utf-8
[8] => Content-Length: 170
[9] => Connection: close
[10] => [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] 200 OK
[11] => Date: Fri, 20 May 2011 06:20:37 GMT
[12] => Server: Microsoft-IIS/6.0
[13] => X-Powered-By: ASP.NET
[14] => Set-Cookie: ASP.NET_SessionId=yiiwszfuqrukmbq5xykivnew; path=/; [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[15] => Cache-Control: private
[16] => Content-Type: text/html; charset=utf-8
[17] => Content-Length: 717
[18] => Connection: close

neopersia
20-05-2011, 10:29
متوجه نمیشم منظورتون از با هیچ برنامه ای نمیشه خوند چیه!
اگر منظورتون html و جاوا اسکرپت هست که در این موارد هدرها رو فقط مرورگر میخونه و فکر نمیکنم به جاواسکرپت پاس بده. مگر اینکه با ای جکس صفحه رو دوباره لود کنید

در هر حال صفحه ای که داده بودید این هدر ها رو در پاسخ داره:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

mtchabok
23-05-2011, 00:40
عزیزان ما برای صفحات html دو تا هدر داریم .
یکی هدر اصلی فایل هس که فقط توسط مرورگر خونده میشه و تشخیص میده که فایل دریافتی html هس و انکدینگشم utf8 .
یک هدر دیگه هم در داخل فایل html وجود داره که اونم توسط مرورگر خونده میشه ولی اولویت با هدر اصلی فایل هس و بعدش اگه در هدر داخلی فایل اینکدینگ وجود داشت ، این اینکد مدنظر قرار میگیره .
پس خواهشا این دو تا هدر رو با هم اشتباه نگیرین .