Para deixar claro, eu optei por usar um banco Oracle, por estar estudando ele esses ultimos tempos, detalhes conexão:
<?php
header('Access-Control-Allow-Origin: *');
$tns = "
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = xe)
)
)
";
try {
$pdo = new PDO("oci:dbname=".$tns, 'cafe', 'cafe');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR AT LINE ' . $e->getLine() . PHP_EOL . $e->getMessage() . PHP_EOL;
}
Ao tentar realizar o Select no meu arquivo Index.php sem filtro WHERE, todos os caracteres armazenados com acento no banco são retornados com ? no lugar do acento:
<?php
require_once 'src/conexao-bd.php';
$produtosCafe = $pdo->query("SELECT * FROM produtos")->fetchAll(PDO::FETCH_ASSOC);
Exemplo:
E ao tentar realizar o Select com o filtro WHERE:
$produtosCafe = $pdo->query("SELECT * FROM produtos WHERE tipo = 'Café'")->fetchAll(PDO::FETCH_ASSOC);
Nada é retornado para a var $produtosCafe. Acredito que por erro de char set também. Quem souber como resolver me ajuda por favor.