MSSQL

MSSQL – Türkçe Karakter Kabul Etmeme Sorunu

Merhabalar, bu yazımı karşılaştığım ve çözmek için çok zaman harcadığım bir hatadan esinlenerek yazıyorum.

Hata tam olarak şu; MSSQL veritabanıma bir içerik(text) girerken, içerisindeki Türkçe karakterleri İngilizce karakter olarak kaydediyor.

Hatanın çözümünü ise iki farklı yöntemle buldum.

1.Yöntem

Uyarı: Bu işlem her zaman çalışmıyor. Test edildi.

  1. Veritabanının(database) özelliklerine(properties) giriyoruz.
  2. Açılan pencerede ayarlar(options) sayfasına tıklıyoruz.
  3. Collation kısmındaki seçimden Turkish_CI_AS’ı seçiyoruz.
  4. Recovery model seçiminden ise Full’ü seçiyoruz.
  5. Ok diyerek kaydediyoruz.

2.Yöntem

​1. yöntemin derinlere inerek hatamızı çözebiliriz.

Uyarı: Bu işlem büyük projelerde oldukça zaman alacaktır.

  1. Öncelikle hatanızı aldığınız tabloya sağ tık yapıp “Desing” seçeneğini tıklayın.
  2. Ardından hangi alanda hata varsa o sutünun “Column Properties” penceresine geliyoruz.
  3. “Table Designer” menüsünün altında bulunan “Collation” kısmına gelip seçim için üç noktaya(…) tıklıyoruz.
  4. Açılan pencerede “Windows Collation” seçeneğini aktifleştiriyoruz.
  5. Hemen altından bulunan listeden “Turkish” seçeneğini seçiyoruz.
  6. Ardından “Dictionary Sort” seçeneğini aktif hale getiriyoruz.
  7. Alt tarafta çıkan seçimlerden sadece “Accent Sensitive” seçeneğini aktif hale getiriyoruz.
  8. Ok diyerek kaydediyoruz.

Resimli Anlatım

türkçe karakter kabul etmeme hatası

türkçe karakter kabul etmeme hatası

türkçe karakter kabul etmeme hatası3. Yöntem

ALTER TABLE dbo.MyTable
ALTER COLUMN CharCol VARCHAR(50) COLLATE TURKISH_CI_AS

Not: Bu yöntemi yorumla bildiren Erdem’e çok teşekkür ediyorum. Ancak bu yöntemi deneme imkanım olmadı. Eğer çalıştığından emin olursanız ve bunu yorumla veya iletişim adreslerimden bana iletirseniz, diğerlerine göre daha kolay olan bu çözümü ilk sıraya ekleyebilirim.

Hata hakkında daha iyi bir çözümünüz varsa yorum olarak veya iletişime geçip bildirirseniz, yazıyı güncelleyebilirim.

Bir yazımın daha sonuna geldik, bir sonraki yazımda görüşmek dileğiyle.

6 thoughts on “MSSQL – Türkçe Karakter Kabul Etmeme Sorunu

  1. ALTER TABLE dbo.MyTable
    ALTER COLUMN CharCol VARCHAR(50) COLLATE TURKISH_CI_AS

    şeklinde basit bir komutla da yapabilirsiniz.

  2. Tebrikler eren ben yazılımcı murat bal gültepeden netde gezinirken web siten karşıma çıktı web siteni beğendim başarılarının devamını dilerim 🙂

  3. Çok teşekkürler, yazınız şuan çok işime yaradı, asp net üzerinden insert ettiğim Türkçe karakterler veritabanına giden bütün kaydın iptal olmasına gitmemesine yol açıyordu, bu şekilde sorunu çözüm, ellerinize sağlık.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir