Cookie'den veri okurken Türkçe karakterlerin bozuk çıkması sorunu nasıl düzeltilir ?

Merhaba arkadaşlar. Webform ya da Mvc 'de cookie'den veri okurken Türkçe karakterler aşağıdaki gibi çıkıyorsa onları replace etme yöntemiyle düzeltmeniz mümkündür.

Aşağıdaki method'u bir class library içine tanımlayıp her projenizde kullanabilirsiniz.

public static string NormalizeUTF8TurkishCharacters(this string str)
        {

            string txt = str;

            List<string> utfCh = new List<string> { "ı", "ç", "ÅŸ", "ö","ü", "ÄŸ", "Ä°", "Ç", "ÅŸ", "Ö", "Ãœ", "ÄŸ" };
            List<string> utfChTR = new List<string> { "ı","ç","ş","ö","ü","ğ","İ","Ç","Ş","Ö","Ü","Ğ" };


            for (int i = 0; i < utfCh.Count; i++)
            {
                txt = txt.Replace(utfCh[i], utfChTR[i]);
            }
           

            return txt;

        }

Kullanımı: CommonUtility.NormalizeUTF8TurkishCharacters(HttpContext.Current.Request.Cookies["key"])

Karakter Unicode Unicode Hex UTF-8 UTF-8 Display
ı 305 0131 C4B1 ı
ç 231 00e7 C3A7 ç
ş 351 015f C59F ÅŸ
ö 246 00f6 C3B6 ö
ü 252 00fc C3BC ü
ğ 287 011f C49F ÄŸ
İ 304 0130 C4B0 Ä°
Ç 199 00c7 C387 Ç
Ş 350 015e C59E ÅŸ
Ö 214 00d6 C396 Ö
Ü 220 00dc C39C Ãœ
Ğ 286 011e C49E ÄŸ

 

İyi Kodlar!