了解字符的关键代码 [duplicate]

Understanding key codes of characters [duplicate]

提问人:Web Star 提问时间:9/28/2023 最后编辑:Web Star 更新时间:9/28/2023 访问量:67

问:

总而言之,我不知道“墨西哥”和“墨西哥”这两个词有什么区别。我需要对此有一个清晰的理解,我想知道我需要在PHP中进行哪些转换才能使这两个词相同。

我正在制作一个简单的应用程序,它使用 PHP/MySQL、HTML 搜索字符串......(这不重要)

我想搜索包含第一个单词(Mexico)的句子。

因此,如果我在输入框中输入墨西哥并提交,则在后端执行以下 SQL 语句并产生结果。

SELECT * FROM `content` LIKE "%Mexico%"

问题在于,当执行上述查询时,不会生成包含墨西哥的结果。

因此,我运行了以下测试:

$a = "𝐌𝐞𝐱𝐢𝐜𝐨";
$b = "Mexico";
if($a == $b) {
    echo "Same";
} else {
    echo "Not same";
}

结果是“不一样”。

我想知道是不是因为ASCII代码不同,但我不知道该怎么办。

我需要一个 mysql 解决方案,因为我需要使用数据库中的 SQL 查询来检索这些字符串。

php mysql unicode 编码 utf-8

评论

3赞 Your Common Sense 9/28/2023
@RefugnicEternium不,它与不同的编码无关。编码相同 - unicode
1赞 Your Common Sense 9/28/2023
另请参阅 stackoverflow.com/questions/53201725/...
3赞 Your Common Sense 9/28/2023
然后,您需要添加另一列,其中包含归一化数据
1赞 Álvaro González 9/28/2023
我认为相关的问题几乎可以回答它,但做一个简短的总结......计算机无法像人类那样理解文本。重要的是如何将给定符号表示为一系列比特。最重要的是,您可以实现规则来确定两组不同的位在特定上下文中表示相同的字母(例如,“是”的大写版本)。我强烈推荐Unicode字符检查器Ee
1赞 Rick James 9/29/2023
@WebStar - 在表中和连接中都使用了什么排序规则?声明该列连接 。utf8mb4_0900_ai_ci

答: 暂无答案