Veritabanı taşıması veya düzenlemesi esnasında türkçe karakterlerde problem olduğunu mu gördünüz ? 4-5 GB’lık bir veritabanınız var ve ne yapacağınızı bilemiyor musunuz ? Endişe etmeyin. Aynı problemi ben de sizin gibi çok önceleri yaşamıştım. Bu konuda bildiklerimi paylaşmak istiyorum.
Türkçe’deki bize problem çıkarak karakterler nelerdir ?
ğ, ş, ç, ö, ü, ı, Ğ, Ş, Ç , Ö, Ü, İ vs. bu karakterleri düzeltmek istediğimizi düşünelim. Ama şöyle düşünün elinizde bir forum sitesi veritabanı var ve post tablosu 2.5 milyon satırdan oluşuyor 🙂 Ya da 250bin satırdan oluşuyor. Şimdi bu satırları aşağıdaki vereceğimiz basit bir kod ile saniyede değiştireceksiniz.
1 2 3 4 5 6 |
update post set message = replace(message,'Ý','İ'); update post set message = replace(message,'ð','ğ'); |
Burada unutulmaması gereken her türlü değiştirilmesi gereken karakteri iyi not etmektir. Bir de hangi sütunlarda düzenleme yapacaksınız ona dikkat etmelisiniz.
Bir post tablosunda mesaj adı, mesajı yazan adı vs. hepsinde karakter hatası olabilir. Her bir karakter için ve her bir sütun için bu işlemi yapacaksınız. Mesela 16 karakterde problem var diyelim. Tespiti düzgün yapacaksınız. Daha sonra 6 sütunda hata gördünüz diyelim. Toplamda 16 x 6 kez sorgularınızı yazcaksınız. Gözünüz korkmasın. Sadece kopyala yapıştır olcak.