首页  >  问答  >  正文

SQL查询结果为0个,当数据库行中的字符串具有特殊字体

我正在运行这个查询:

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

数据库中的文本存储为'ᴄᴇʀᴛɪꜰɪᴇᴅ ɪɴꜱᴛᴀʟʟᴇʀꜱ',它是一种独特的字体。

上述查询返回0个结果,但是当我将数据库中的'ᴄᴇʀᴛɪꜰɪᴇᴅ ɪɴꜱᴛᴀʟʟᴇʀꜱ'文本字体更改为类似无衬线字体时,它返回结果。

为什么会这样?

P粉029327711P粉029327711405 天前544

全部回复(1)我来回复

  • P粉165823783

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

    这不是不同的字体,而是在Unicode中的不同字符。

    如果你将文本粘贴到https://www.babelstone.co.uk/Unicode/whatisit.html,你会看到它告诉你这些字符实际上是什么:

    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

    以“ᴄ”为例,你可以在其他地方查找,比如在https://symbl.cc/en/1D04/,它告诉我们:

    你可以看到标准的大写字母C实际上是Unicode中的另一个字符,称为“Latin Letter Capital C”,https://symbl.cc/en/0043/

    这也意味着你的数据库(和表格)使用了支持你在这里展示的Unicode字符的字符集。

    回复
    0
  • 取消回复