Ekrem
Kategori:Çalışma Notları
| Tarih:
16.01.2012 03:52:45
Bu yazı 180 defa okundu
MYSQL Türkçe Karakter Problemi
Geçenlerde karşılaştığım bir problem var. Forumlara da yazmıştım. Problemimi burada da belirteyim
. problemim şu: veri eklerken ı ve ş de sıkıntı çekiyorum. çözüm için yaptıklarımı anlatayım
- connector 6.4.6 kullanıyordum. bunun problemli olduğunu yazmışlar 6.2.4 le değiştirdim olmadı
-connection stringe charset=latin5 eklemimi önermişler, olmadı. ekledim derleken hata alıyorum (entity framworkle ilgili hata)
-sayfanın meta tagını değiştirdim o da olmadı.
- system.web içerisinde globalization dalı içerisinde latin5 le ilgili parametrelerle <globalization requestEncoding="iso-8859-9? responseEncoding="iso-8859-9? culture="tr-TR" uiCulture="tr"fileEncoding="iso-8859-9? /> ekledim, olmadı
sorum şu nasıl bir çözüm izlemem gerekiyor, işin içinden çıkmadım.
mesela linq ile eklerken bir problem yok. yani FCKeditor1.Value.ToTemizMetin();(genişletilmiş metotları severek kullanıyorum :)) dediğimde debug esnasında karakterlerin değerleri korunuyor fakat ekledikten sonra tabloma bakıyorum ıı lar ii olmuş
veritabanımdaki tablo ve sütun değerleri de latin5.
işte günün birinde kendimce yukarıda tanımladığım bir problemle karşılaşırsanız, size önerim aşağıdaki fonksiyondur ;)
public static String TurkceKarakterDegisimi(this String s)
{
s = s.Replace("Ü", "Ü");
s = s.Replace("ü", "ü");
s = s.Replace("İ", "İ");
s = s.Replace("Ö", "Ö");
s = s.Replace("ö", "ö");
s = s.Replace("Ş", "Ş");
s = s.Replace("Ç", "Ç");
s = s.Replace("ç", "ç");
s = s.Replace("Ğ", "Ğ");
s = s.Replace("ğ", "ğ");
s = s.Replace("ı", "ı");
s = s.Replace("ş", "ş");
return s;
}