CREATIVE35 adlı üyeden alıntı: mesajı görüntüle
çeşitli araştırmalar yaptım ama sql den gelen verideki türkçe karakterler ğ,ç,ş gibi
JSON_UNESCAPED_UNICODE de kullansam olmuyor php kodum şu şekilde

          try {
                        global $DBSettings;
                        $pdo = new PDO("odbc:DRIVER={$DBSettings['driver']};SERVER={$DBSettings['server']};DATABASE={$DBSettings['game_db']};charset=UTF-8", $DBSettings['uid'], $DBSettings['pass']);
                
                        $haber_secenek = isset($_POST['haber_secenek']) ? (int)$_POST['haber_secenek'] : 1;
                
                        $stmt = $pdo->prepare("SELECT  haber_basligi, haber_icerigi, haber_tarihi
                                                FROM _panelhaber
                                                WHERE haber_secenek = :haber_secenek
                                                ORDER BY haber_tarihi DESC");
                        $stmt->bindParam(':haber_secenek', $haber_secenek, PDO::PARAM_INT);
                        $stmt->execute();
                
                        $haberler = $stmt->fetchAll(PDO::FETCH_OBJ);
                
                        if ($haberler) {
                            echo json_encode($haberler,JSON_UNESCAPED_UNICODE);
                        } else {
                            echo json_encode(['error' => "Haber bulunamadı."]);
                        }
                    } catch (PDOException $e) {
                        echo json_encode(['error' => "Bağlantı hatası: " . $e->getMessage()]);
                    }
PHP Dosyasını bomsuz utf-8 olarak kaydettiğinize emin olun,
<?php
try {
    global $DBSettings;
    $options = [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
        PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci"
    ];
    $pdo = new PDO("odbc:DRIVER={$DBSettings['driver']};SERVER={$DBSettings['server']};DATABASE={$DBSettings['game_db']};charset=utf8mb4", $DBSettings['uid'], $DBSettings['pass'], $options);

    $haber_secenek = isset($_POST['haber_secenek']) ? (int)$_POST['haber_secenek'] : 1;

    $stmt = $pdo->prepare("SELECT haber_basligi, haber_icerigi, haber_tarihi
                           FROM _panelhaber
                           WHERE haber_secenek = :haber_secenek
                           ORDER BY haber_tarihi DESC");
    $stmt->bindParam(':haber_secenek', $haber_secenek, PDO::PARAM_INT);
    $stmt->execute();

    $haberler = $stmt->fetchAll(PDO::FETCH_OBJ);

    if ($haberler) {
        $haberler = array_map(function($haber) {
            return array_map('utf8_encode', (array)$haber);
        }, $haberler);
        
        header('Content-Type: application/json; charset=utf-8');
        echo json_encode($haberler, JSON_UNESCAPED_UNICODE);
    } else {
        echo json_encode(['error' => "Haber bulunamadı."]);
    }
} catch (PDOException $e) {
    echo json_encode(['error' => "Bağlantı hatası: " . $e->getMessage()]);
}
Bunun haricinde yinede olmazsa htaccess dosyanızda farklı dillere yönlendirme olup olmadığına bakın.