У меня проблема с запросом SQL:
SELECT CLCLEUNIK, NOM, VILLE, CODEP
FROM CLIENT
WHERE NOM LIKE :nom COLLATE French_CI_AI
В моем случае я использую параметры сортировки, потому что пользователь может искать «rhone», а он находит «rhône». Но моя проблема в том, что теперь, когда кто-то ищет "Rhône", запрос не находит соответствия в моей базе данных.
Редактировать: это создание базы:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[CLIENT](
[NOM] [varchar](50) NULL,
[ADRESSE] [text] NULL,
[CODEP] [varchar](5) NULL,
[VILLE] [varchar](40) NULL,
[TYPECLI] [int] NULL,
[TEL] [varchar](20) NULL,
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Это php код:
public function searchCli(Request $request){
require __DIR__.DIRECTORY_SEPARATOR."..".DIRECTORY_SEPARATOR."Entity".DIRECTORY_SEPARATOR."sqlconnect.php";
$nom = $request->request->has("nom") ? $request->request->get("nom") : "";
$nom = str_replace(" ", "%", $nom);
$req ="SELECT CLCLEUNIK, NOM, VILLE, CODEP FROM CLIENT WHERE NOM LIKE :nom COLLATE French_100_CI_AI";
$prepare = $pdo->prepare($req);
$prepare->execute(
[
"nom" => "%{$nom}%"
]
);
$clientsrecherche = $prepare->fetchAll(PDO::FETCH_OBJ);
foreach($clientsrecherche as $key => $objet){
foreach($objet as $key2 => $obj){
$obj=utf8_encode($obj);
$response[$key][$key2] = $obj;
};
}
return new JsonResponse([ "response" => $response]);
}
Это все, что я могу помочь