php - Mysql选择非a-z字符

标签 php mysql select utf-8 uri

我有一个小问题,例如我在数据库中添加了一个包含一些字符的链接,例如:é、á、ą 和其他类似的字符。现在,我的问题是当我想从数据库中选择这个链接时,在数据库中这些字符是自动编码的(utf8),但是当我想选择类似的东西时

SELECT * FROM `table` WHERE `link`='http://tést.tld'

不起作用,因为在我的数据库中 é 被编码了。我可以在这里做什么?

我不知道如何更准确地解释,我希望你明白我需要什么。

最佳答案

您在查询中传递了无效的 URI:

http://tést.tld

URI 只包含 US-ASCII 字母,é 不是这样。您要么将其存储错误,但很可能您已经看到您需要为该 URI 获取 PUNY-CODE/正确的 url 编码。

您如何将这些 URI 存储到您的数据库中?作为有效的 URI 还是作为 UTF-8?

编辑:

您存储 utf-8 字节序列 urlencoded入数据库。你需要 split the URI你正在寻找它的部分,相应地编码部分(例如路径部分的 urlencoding,域名的微不足道的代码),重新构建完整的 URI 并在你的数据库中搜索它。

关于php - Mysql选择非a-z字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7944997/

相关文章:

php - 列出 Amazon S3 上特定文件夹中的对象

php - 从 php 单选按钮变量创建文件

php - JQuery ajax 请求 - echo 不会输出结果

Mysql select from table left join with csv export

mysql - 将 secret 信息存储在数据库中

MySQL Order By 非常慢

sql - 对选定项的操作

php - 警告 : mysql_query() [function. mysql-query]:无法将结果集保存在

SQL - 按行数排序?

forms - Grails表单选择选项