PDA

View Full Version : فارسی نویسی در کوکی



amin_vafamand
دوشنبه 05 شهریور 1386, 03:12 صبح
سلام
من یه چند تا عبارت فارسی رو در یک کوکی نوشتم و تو یه صفحه ی دیگه که می خوام اونارو باز بخونم چون از یه فایل txt می خوندشون همش به هم میریزه. تقریباً همه ی کارایی رو که در مورد یونیکد لازم بوده انجام دادم ولی فقط تو localhost درست اجرا می شه و وقتی بار می شه به هم می ریزه. اگه ممکنه...

jasadeghi
دوشنبه 05 شهریور 1386, 09:11 صبح
دروود

آیا در web.config بعد از <system.web>کد زیر رو قرار دادید؟



<system.web>

<globalizationfileEncoding="utf-8"requestEncoding="utf-8"responseEncoding="utf-8"culture="fa-IR"uiCulture="fa-IR"/>


پیروز باشید

amin_vafamand
دوشنبه 05 شهریور 1386, 18:53 عصر
آخه من با asp.net 2.0 دارم کار می کنم که به طور اتوماتیک صفحاتش با utf8 رد و بدل می شن. من مشکلم با خوندن از کوکیه که یه فایل txt و انگار با یه بار فارسی نویسی توش همه چی ه هم می ریزه

Behrouz_Rad
دوشنبه 05 شهریور 1386, 21:45 عصر
با HttpUtility.HtmlEncode عبارت ها رو کد کن و با HttpUtility.HtmlDecode اونها رو از حالت کد شده در بیار و نمایش بده.

موفق باشید.

amin_vafamand
سه شنبه 06 شهریور 1386, 00:17 صبح
آقا بهروز دست شما درد ننه. من با httputility.htmlencode این کارو کردم جواب نگرفتم اما با httputility.urlencode که کد کردم جواب داد، خودم فرقشو نفهمیدم اما از شما به خاطر راهنماییتون ممنون.

Behrouz_Rad
سه شنبه 06 شهریور 1386, 09:07 صبح
اُه راست میگی! Sorry

HtmlEncode برخی کاراکترهای HTML رو به معادل اونها تبدیل می کنه. این کار برای جلوگیری از حملات XSS هست. مثلا تبدیل < به ;gt&
HtmlUrl نیز برخی کاراکترها رو که در URL قرار میگیرند به معادل اونها تبدیل می کنه. مثلا تبدیل فاصله به +
کاراکترهای فارسی نیز از جمله حروفی هستند که برای UrlEncode تعریف شدند نه برای HtmlEncode
مثلا اگر در Google به دنبال کلمه ی "بهروز" بگردی، URL به شکل ذیل میشه:


http://www.google.com/search?hl=en&q=%D8%A8%D9%87%D8%B1%D9%88%D8%B2&btnG=Google+Search

که در URL فوق، "%D8%A8%D9%87%D8%B1%D9%88%D8%B2" همون "بهروز" هست.

موفق باشید.