1 Mart 2016 Salı

MVC içeriklerden gelen Türkçe Karakter Sorununun çözüm çeşitleri

Varsayılan olarak herkesin bildiği üzere aşağıdaki  Web Config üzerindentagları ile bu sorunun çözülmemesiyle başlamıştı...

Sayfanızın head kısmına aşağıdaki meta tagları eklenerek çözüm sağlanabilir...

    <meta http-equiv=Content-type content=text/html; charset=UTF-8 />
    <meta http-equiv=Content-type content=text/html; charset=windows-1254 />
    <meta http-equiv=Content-type content=text/html; charset=iso-8859-9 />


Veya bu şekilde Html.Raw() ile çözümlenebilir...
  • hatalı <title>sayfamın başlığı</title
  • Düzeltme <title>@Html.Raw(sayfa başlığı)</title>

Ancak bu sorun Html içerisinde veri tabanından gelen verilerin Türkçe karakter hatasına tutulmasıydı.

Diğer  Web Config üzerinden çözüm yollarına değinecek olursak;
<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="tr-TR" uiCulture="tr-TR" />

Hatanın çözümü normal şarlatandan meta tagları ile çözümlenirken bu hatayı web config üzerinden kökten çözüme gitmek için web.config'ime system.web 'in altına aşağıdaki kod parçacığını ekledim ve sorun düzeldi. 
<httpRuntime encoderType="System.Web.Security.AntiXss.AntiXssEncoder,
                             System.Web, Version=4.0.0.0, Culture=neutral,
                             PublicKeyToken=b03f5f7f11d50a3a"/> 


Çözümü şurada buldum;
http://stackoverflow.com/questions/14580876/disable-encoding-of-unicode-characters-in-asp-net-mvc3