У меня есть соединение с базой данных, которое я сделал с помощью соединителя odbc.Проблема в том, что у меня есть поле, содержащее специальные символы, такие как акценты, и оно не распознает их.
Это мой веб-сервис:
<?php
define('CHARSET','UTF-8');
header('Content-Type: text/html; charset=UTF-8');
$usuario='';
$pass='';
$dsn='Tr3';
$conexion = odbc_connect($dsn,$usuario,$pass);
$sql="select total, name, domin from F_VENTA where Ve_FirmaCamion=true";
$rs = odbc_exec($conexion, $sql);
if (!$rs) {
exit("Error al conectar la base de datos");
}
$datos = array();
$i = 1;
while($row = odbc_fetch_array($rs)) {
$datos[] = $row;
$i++;
}
odbc_close($conexion);
$json = json_encode($datos);
echo $json;
?>
Это прекрасно работает.Но если поле «имя» имеет какой-то специальный символ (акценты, ñ, Ç ...), то веб-служба мне ничего не возвращает.Json оставляет меня пустым.
Я пробовал:
utf8_decode($json);
и
$cadena= htmlentities($json, ENT_QUOTES, "UTF-8");
, но не работает.
Любой совет?Спасибо!