• 11-02-2019, 16:46:31
    #1
    MSSQL 2014 den localhosttaki php ye veri çekiyorum. Tüm Türkçe karakterler ? olarak geliyor. collation değeri Turkish_CI_AS sql tarafında. Veriler de Türkçe girilmiş durumda ama çektiğim zaman ? olarak geliyor. Bir türlü düzeltemedim.

    php versiyon 5.6.38

    baglan.php kodu
    <?php
    
        $server="FEYYAZ";
    $db="TIGER3";
    $kadi="sa";
    $sifre="logo";
    $baglan = odbc_connect('DRIVER={SQL Server};SERVER='.$server.';DATABASE='.$db,$kadi,$sifre);
    
    
    if ($baglan <= 0) {
    echo "!!! Veritabanına bağlanılamadı !!!";
    }
    ?>
    çıktı bu şekilde

  • 11-02-2019, 16:49:08
    #2
    PHP meta üzerine content type atadınız mı ?
  • 11-02-2019, 16:49:58
    #3
    $conn -> exec("set names utf8");
  • 11-02-2019, 16:50:18
    #4
    Aikeos adlı üyeden alıntı: mesajı görüntüle
    PHP meta üzerine content type atadınız mı ?
    <meta charset="ISO-8859-9">

    bundan bahsediyorsanız ekli
  • 11-02-2019, 16:56:57
    #5
    bunun sql ile ilgili olduğunu sanmıyorum.
    Büyük ihtimalle temanız için kullandığınız dil dosyası ile ilgili bir sorun var
  • 11-02-2019, 16:57:09
    #6
    Arkadaş yukarıda çözümü yazmış ek olarak tablo oluştururken kaydetme dilinide tr yaptıysanız sorun yaşamazsınız
  • 11-02-2019, 17:00:59
    #7
    Yurtnet adlı üyeden alıntı: mesajı görüntüle
    bunun sql ile ilgili olduğunu sanmıyorum.
    Büyük ihtimalle temanız için kullandığınız dil dosyası ile ilgili bir sorun var
    sorun sql de değil zaten hocam orda herşey normal. Sorun php tarafında ama hangi kodu değiştireceğimi yada ne ekleyip neyi çıkaracağımı bilemiyorum internetteki bir sürü yöntemi denedim. baglan.php deki kodlara set names charset vs. ekledim olmadı. dosyayı utf-8 bomsuz kaydettim yine olmadı bir sürü şey denedim. Düzelmiyor.

    alisahanyalcin adlı üyeden alıntı: mesajı görüntüle
    Arkadaş yukarıda çözümü yazmış ek olarak tablo oluştururken kaydetme dilinide tr yaptıysanız sorun yaşamazsınız
    tabloları erp programı kendisi oluşturuyor ona müdahale etme şansım yok. SQL tarafında herşey normal aslında php tarafında ne yapabilirim onu bilmiyorum o yüzden php kategorisine açtım konuyu
  • 11-02-2019, 17:03:04
    #8
    Aşağıdaki gibi fonksiyon oluşturun
    <?php
    function convertToISO($data){
    return mb_convert_encoding($data, "UTF-8", "ISO-8859-9");
    }
    function convertToUTF8($data){
    return mb_convert_encoding($data, "ISO-8859-9", "UTF-8");
    }
    ?>
  • 11-02-2019, 17:04:23
    #9
    <?php
    try {
    $db = new PDO("mysql:host=localhost;dbname=test;charset=utf8 ", "root", "123456");
    } catch ( PDOException $e ){
    print $e->getMessage();
    }
    ?>
    mobilim hatalı oldu kusura bakmayın düzenlemeyi yaparsanız