• 04-04-2014, 16:51:40
    #1
    Php'yi sql servera bağlıyorum. Insert yapımında veritabanında Türkçe karakter problemi yapıyorum. mysql ile bağlanırken

    mysql_query("SET CHARACTER SET 'utf8'");
    	mysql_query("SET NAMES 'utf8'");
    diyerek sorunu çözebiliyordum fakat odbc ile bunu nasıl yapabilirim?
  • 04-04-2014, 17:27:48
    #2
    Üyeliği durduruldu
    şu şekilde kullan bakalım sorun olacak mı:
        $db_host        = "server.mynetwork";
        $db_user        = "dbuser";
        $db_pass        = "dbpass";
        $dsn =         "DRIVER={MySQL ODBC 3.51 Driver};" . 
                "CommLinks=tcpip(Host=$db_host);" . 
                "DatabaseName=$db_name;" . 
                "uid=$db_user; pwd=$db_pass";
    
    $conn =  odbc_connect($dsn, $db_user, $db_pass);
    odbc_exec($conn, "SET NAMES 'UTF8'");
    odbc_exec($conn, "SET client_encoding='UTF-8'");
    Yada mb_convert_encoding fonksiyonunu kullanabilirsin.
  • 04-04-2014, 19:18:32
    #3
    Stri0n adlı üyeden alıntı: mesajı görüntüle
    şu şekilde kullan bakalım sorun olacak mı:
        $db_host        = "server.mynetwork";
        $db_user        = "dbuser";
        $db_pass        = "dbpass";
        $dsn =         "DRIVER={MySQL ODBC 3.51 Driver};" . 
                "CommLinks=tcpip(Host=$db_host);" . 
                "DatabaseName=$db_name;" . 
                "uid=$db_user; pwd=$db_pass";
    
    $conn =  odbc_connect($dsn, $db_user, $db_pass);
    odbc_exec($conn, "SET NAMES 'UTF8'");
    odbc_exec($conn, "SET client_encoding='UTF-8'");
    Yada mb_convert_encoding fonksiyonunu kullanabilirsin.
    Hocam aslında tam aradığım kod fakat çalışmadı, hala Türkçe karakter sorunu var.
  • 04-04-2014, 22:01:08
    #4
    Üyeliği durduruldu
    Karaman adlı üyeden alıntı: mesajı görüntüle
    Hocam aslında tam aradığım kod fakat çalışmadı, hala Türkçe karakter sorunu var.
    Hocam birde şöyle deneyin.
    $user = "username";
    $pass = "password";
    $dsn = "Driver={MySQL ODBC 3.51 Driver};Server=myServerAddress;charset=UTF8;
    Database=myDataBase;Option=3;";
    $conn = odbc_connect($dsn,$user,$pass);
    Charset kullanmak için sürücünün versiyonu >=3.51.17 olmalıdır.

    Sürücü versiyonunuz 5.2 ise
    DSN bilgilerinizi aşağıdaki gibi yapınız.
    Driver={MySQL ODBC 5.2 ANSI Driver};Server=myServerAddress;charset=UTF8;
    Database=myDataBase;Option=3;
    http://www.connectionstrings.com/mysql-connector-odbc-5-2/

    Veritabanına string eklerken utf8_encode işlemini de yapabilirsiniz,
  • 05-04-2014, 00:05:01
    #5
    Stri0n adlı üyeden alıntı: mesajı görüntüle
    Hocam birde şöyle deneyin.
    $user = "username";
    $pass = "password";
    $dsn = "Driver={MySQL ODBC 3.51 Driver};Server=myServerAddress;charset=UTF8;
    Database=myDataBase;Option=3;";
    $conn = odbc_connect($dsn,$user,$pass);
    Charset kullanmak için sürücünün versiyonu >=3.51.17 olmalıdır.

    Sürücü versiyonunuz 5.2 ise
    DSN bilgilerinizi aşağıdaki gibi yapınız.
    Driver={MySQL ODBC 5.2 ANSI Driver};Server=myServerAddress;charset=UTF8;
    Database=myDataBase;Option=3;
    http://www.connectionstrings.com/mysql-connector-odbc-5-2/

    Veritabanına string eklerken utf8_encode işlemini de yapabilirsiniz,
    $baglanti = odbc_connect('DRIVER={SQL Server}; SERVER=KARAMAN; DATABASE=Blog;','','');

    şeklinde bağlantı kodum var sizin söylediklerinizi denedim fakat bağlantı kurmayı dahi başaramadım utf-8_encode ve utf8-decode u denedim onlar da fayda etmedi.