簡體   English   中英

有沒有辦法忽略和接受整理?

[英]Is there a way to ignore and accept collate?

我的 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]);
       }

這是我所能提供的幫助

更多描述:

整理屬性:

CI指定不區分大小寫(不區分大小寫的比較,因此 'ABC' 將等於 'abc')

CS指定區分大小寫

AS指定重音敏感(重音敏感,所以 'ü' 不等於 'u')

AI指定不區分重音

你可以試試French_100_CI_AI而不是French_CI_AI

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM