4 Ekim 2011 Salı

Request.URL ile alınan parametrede türkçe karakter problemi


Bazen dinamik olarak url ye parametreler gönderip oradaki parametrelerden verileri alıp işlem yapmamız gerekebilir.Fakat gönderilen parametrede türkçe karakter var ise bunu Request.QueryString ile aldığımızda karakterler okunamaz.Örnek :

url ye "www.domain.com?test=İ" gönderilir ise okunmaya çalıştığında 'İ' harfi 'Ä°' şeklinde gelecektir.

Bu sorunu düzeltmek için url şu şekilde gönderilmelidir :

string parametreDegeri = HttpUtility.UrlEncode("İ", System.Text.Encoding.UTF8)
Response.Redirect("www.domain.com?test="+ parametreDegeri);

Bu defa url ye şu şekilde bir değer gelicektir :

"www.domain.com?test=%c4%b0"

ve bu değer Request.QueryString("test") ile okunduğunda değer olarak "İ" harfi alınabilecektir.


Umarım faydalı olmuştur.
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.