URL中不可见的前导字符

时间:2017-03-03 03:24:24

标签: mysql sql url

我正在尝试使用MySQL在一个应该是URL的列中标记明显的非URL。我正在使用URL名称的前七个字符,看看它们是否出现在'http://'或'https:/'。但是,一个URL会返回'http:',如下所示:

SELECT SUBSTR(my_URL,1,7) FROM my_URL_table

返回:'http:' - 显然是五个字符,而不是预期的七个字符。违规的现实生活中的URL是:

http://www.wsmv.com/story/34609714/f...s-parade-crash

就好像在URL的开头有两个额外的字符,它们都是不可见的并且不占用空间。 (暗物质字符?)。实际上,如果我运行INSTR函数来查看URL中的哪个位置'http://',MySQL会返回位置3,如下所示:

SELECT INSTR(my_URL,'http://') FROM my_URL_table

返回:3而不是第一个位置。我尝试使用TRIM(my_URL)函数添加SELECT,但TRIM没有改变任何内容。

使用我在Notepad ++中编写并在phpMyAdmin中运行的INSERT VALUES命令将URL放入表中。

有谁能想到这些神秘人物会是什么?关于如何处理它们的建议?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

我不知道,但MySQL可以告诉你:

select ord(left(my_url, 1)), ord(substr(my_url, 2, 1))
. . .

ord()函数会告诉您角色的等效数字,如documentation中所述。