• 23-08-2016, 00:58:09
    #1
    Arkadaşlar bir veritabanım var. Php ile veritabanından veri çekiyorum. Sorun tamda burada başlıyor. Excel hücresi olarak yaklaşık 200.000 hücrelik veri girişi var.

    Veritabanına veriyi bir form aracılığıyla girdiğimde sorunsuz bir şekilde veritabanından veriyi çekebiliyorum.

    Ancak 200.000 veriyi önce veritabanına girmem gerekli. Dolayısı ile bir form ile bu kadar veriyi girmem imkansız. Bende CSV import yöntemi ile verileri veritabanına girdim.

    Sorun şu ki

    SELECT * FROM `universiteler` WHERE sehir='Adana' sorgusu çıktı verirken SELECT * FROM `universiteler` WHERE sehir='Elazığ' sorgusu çıktı vermiyor.

    Sebebi ise şehir adında Türkçe karakter olmasından kaynaklanıyor.

    CSV import yöntemini kullanarak verilerimi yüklediğimde veri çekiminde yaşanan bu sorunu nasıl aşabilirim ?
  • 23-08-2016, 02:09:03
    #2
    csv importtan sonra veritabanına türkçe karakterler kayıt oluyor mu yoksa bozuluyor mu ? Gerçi veritabanında türkçe karakter olsa sorgununda çalışması lazım.
    csv import esnasında utf8 header tanımlamayı denediniz mi?
    header('Content-Type: text/html; charset=UTF-8');

    Daha önce denediyseniz import kodlarını bir paylaşın öyle bakalım olmazsa
  • 23-08-2016, 02:58:26
    #3
    1. Excel dosyasına verilerimi uygun şekilde giriyorum
    2. Excel dosyasını CSV ye dönüştürüyorum
    3. Phpmyadmin den içe aktar deyip CSV formatta aktarıyorum bir web sayfası aracılığıyla değil.
    4. Gerekli dil ayarlarını yapınca türkçe karakterler veritabanında sorunsuz görünüyor

    Sanırım sorun burada başlıyor. Php ile upload ederken İ Ö Ş Ğ gibi karakterler PHP'nin karakter kodlamasına uygun olarak upload ediliyor. Ancak CSV upload'da direk olarak ÖÇŞĞ gibi harflari giriyoruz. Ve Sorgu sonucunu boş döndürüyor.

    CSV verilerini PHP olarak kodlanmış bir sayfa ile upload etsem belki sorun kalkacak ancak kaç kere denediysem olmadı. Bulabildiğim hiçbir script çalışmadı.