• 06-07-2022, 13:47:42
    #1
    Merhabalar, phpmyadmin'den sorgu sekmesi üzerinden bazı veriler ekliyorum. Örneğin ĞÇ gibi türkçe karakterler eklediğimde Json verisini hiç alamıyorum yada Phpmyadmin'den yine el ile örneğin "Çabuk" yazdığımda bunu yine json olarak göremiyorum. Küçük ğ eklediğimde ise sadece ? işareti alıyorum. İnternet araştırması ve denemelerim oldu fakat bir türlü veriler türkçe karakter olduğunda verileri çekemedim. Mysql Karşılaştırması utf general ci olarak denedim. Örnek Php Kodu ekliyorum. Görselde paylaşıyorum. Türkçe karaktersiz yaptığımda bi problem yok fakat türkçe karakterli de hiç gelmiyor.

    <?php
    header('Content-Type: text/html; charset=utf-8');
    $response = array();
    if (isset($_POST['kategori'])) {
        $marka = $_POST['marka'];
        $model  = $_POST['model'];
        $kategori  = $_POST['kategori'];
        require_once __DIR__ . '/db_config.php';
        $baglanti = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD, DB_DATABASE);
        //$baglanti->set_charset("utf8");
        if (!$baglanti) {
            die("Hatali baglanti : " . mysqli_connect_error());
        }
                $sqlsorgu = "SELECT * FROM liste WHERE liste.kategori like '%$kategori%' AND liste.marka like '%$marka%' ORDER BY id DESC";
                $result = mysqli_query($baglanti, $sqlsorgu);
            if (mysqli_num_rows($result) > 0) {
                $response["liste"] = array();
                while ($row = mysqli_fetch_assoc($result)) {
                    $liste = array();
                    $liste["id"] = $row["id"];
                    $liste["kategori"] = $row["kategori"];
                    $liste["marka"] = $row["marka"];
                    $liste["model"] = $row["model"];
                    
                    array_push($response["liste"], $liste);
                }
                $response["success"] = 1;
                echo json_encode($response);
            } else {
                $response["success"] = 0;
                echo json_encode($response);
            }
            mysqli_close($baglanti);
        
    }










  • 06-07-2022, 13:57:45
    #2
    Collation => "utf8_turkish_ci" deneyin.
  • 06-07-2022, 14:06:27
    #4
    H0neyHunter adlı üyeden alıntı: mesajı görüntüle
    Merhabalar, phpmyadmin'den sorgu sekmesi üzerinden bazı veriler ekliyorum. Örneğin ĞÇ gibi türkçe karakterler eklediğimde Json verisini hiç alamıyorum yada Phpmyadmin'den yine el ile örneğin "Çabuk" yazdığımda bunu yine json olarak göremiyorum. Küçük ğ eklediğimde ise sadece ? işareti alıyorum. İnternet araştırması ve denemelerim oldu fakat bir türlü veriler türkçe karakter olduğunda verileri çekemedim. Mysql Karşılaştırması utf general ci olarak denedim. Örnek Php Kodu ekliyorum. Görselde paylaşıyorum. Türkçe karaktersiz yaptığımda bi problem yok fakat türkçe karakterli de hiç gelmiyor.

    <?php
    header('Content-Type: text/html; charset=utf-8');
    $response = array();
    if (isset($_POST['kategori'])) {
        $marka = $_POST['marka'];
        $model  = $_POST['model'];
        $kategori  = $_POST['kategori'];
        require_once __DIR__ . '/db_config.php';
        $baglanti = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD, DB_DATABASE);
        //$baglanti->set_charset("utf8");
        if (!$baglanti) {
            die("Hatali baglanti : " . mysqli_connect_error());
        }
                $sqlsorgu = "SELECT * FROM liste WHERE liste.kategori like '%$kategori%' AND liste.marka like '%$marka%' ORDER BY id DESC";
                $result = mysqli_query($baglanti, $sqlsorgu);
            if (mysqli_num_rows($result) > 0) {
                $response["liste"] = array();
                while ($row = mysqli_fetch_assoc($result)) {
                    $liste = array();
                    $liste["id"] = $row["id"];
                    $liste["kategori"] = $row["kategori"];
                    $liste["marka"] = $row["marka"];
                    $liste["model"] = $row["model"];
                    
                    array_push($response["liste"], $liste);
                }
                $response["success"] = 1;
                echo json_encode($response);
            } else {
                $response["success"] = 0;
                echo json_encode($response);
            }
            mysqli_close($baglanti);
        
    }










    json_encode($response,  JSON_UNESCAPED_UNICODE);
    böyle bir deneyin.
  • 06-07-2022, 14:17:58
    #5
    Swmwhois adlı üyeden alıntı: mesajı görüntüle
    json_encode($response,  JSON_UNESCAPED_UNICODE);
    böyle bir deneyin.
    Teşekkür ederim denedim.
    Türkçe karakterler ? işareti şeklinde geliyor. Türkçe karakterliler normal geliyor.
  • 06-07-2022, 14:21:37
    #6
    lancelot adlı üyeden alıntı: mesajı görüntüle
    Collation => "utf8_turkish_ci" deneyin.
    utf8 olarak yaptığımda oldu. teşekkürler.
  • 06-07-2022, 14:22:54
    #7
    H0neyHunter adlı üyeden alıntı: mesajı görüntüle
    utf8 olarak yaptığımda oldu. teşekkürler.
    Rica ederim. İyi çalışmalar.