recherche

Maison  >  Questions et réponses  >  le corps du texte

Les résultats de la requête SQL sont 0 lorsque la chaîne dans la ligne de la base de données a une police spéciale

J'exécute cette requête :

SELECT id FROM posts WHERE title LIKE '%CERTIFIED INSTALLER%';

Le texte de la base de données est stocké sous le nom « ᴄᴇʀᴛɪꜰɪᴇᴅ ɪɴꜱᴛᴀʟʟᴇʀꜱ », qui est une police unique.

La requête ci-dessus renvoie 0 résultat, mais lorsque je change la police de texte « ᴄᴇʀᴛɪꜰɪᴇᴅ ɪɴꜱᴛᴀʟʟᴇʀꜱ » dans la base de données en quelque chose comme une police sans empattement, elle renvoie des résultats.

Pourquoi cela se produit-il ?

P粉029327711P粉029327711485 Il y a quelques jours611

répondre à tous(1)je répondrai

  • P粉165823783

    P粉1658237832023-09-12 10:51:00

    Ce n'est pas une police différente, c'est un caractère différent en Unicode.

    Si vous collez le texte dans https://www.babelstone.co.uk/Unicode/whatisit.html, vous verrez qu'il vous indique quels sont réellement les caractères :

    U+1D04 : LATIN LETTER SMALL CAPITAL C
    U+1D07 : LATIN LETTER SMALL CAPITAL E
    U+0280 : LATIN LETTER SMALL CAPITAL R
    U+1D1B : LATIN LETTER SMALL CAPITAL T
    U+026A : LATIN LETTER SMALL CAPITAL I
    U+A730 : LATIN LETTER SMALL CAPITAL F
    U+026A : LATIN LETTER SMALL CAPITAL I
    U+1D07 : LATIN LETTER SMALL CAPITAL E
    U+1D05 : LATIN LETTER SMALL CAPITAL D
    U+0020 : SPACE [SP]
    U+026A : LATIN LETTER SMALL CAPITAL I
    U+0274 : LATIN LETTER SMALL CAPITAL N
    U+A731 : LATIN LETTER SMALL CAPITAL S
    U+1D1B : LATIN LETTER SMALL CAPITAL T
    U+1D00 : LATIN LETTER SMALL CAPITAL A
    U+029F : LATIN LETTER SMALL CAPITAL L
    U+029F : LATIN LETTER SMALL CAPITAL L
    U+1D07 : LATIN LETTER SMALL CAPITAL E
    U+0280 : LATIN LETTER SMALL CAPITAL R
    U+A731 : LATIN LETTER SMALL CAPITAL S

    Prenons "ᴄ" comme exemple, vous pouvez le rechercher ailleurs, comme sur https://symbl.cc/en/1D04/, ce qui nous dit :

    Vous pouvez voir que la lettre majuscule standard C est en fait un autre caractère Unicode appelé "Lettre latine C majuscule", https://symbl.cc/en/0043/ :

    Cela signifie également que votre base de données (et votre table) utilise un jeu de caractères qui prend en charge les caractères Unicode que vous affichez ici.

    répondre
    0
  • Annulerrépondre