我不知道我的问题到底出在哪里,希望你能帮助我。2 小时的谷歌搜索没有帮助。:/
我使用简单的SELECT string FROM table
. 这是我回应它时得到的:
echo $string; -> some-string
echo htmlspecialchars($string); -> some-string
我认为这已经很奇怪了,因为如果我将查询更改为
SELECT string FROM table WHERE string LIKE '%some-string%';
使用我键盘上的减号,结果为空。我尝试了不同的字符集(“SET NAMES ...”),但这里没有任何区别。所以我坚持使用“SET NAMES utf8”,我的 PHP 文档也是 UTF-8 编码的。有谁知道我的问题是什么?
接下来发生的事情就更奇怪了:
echo preg_replace("/[^0-9a-zA-Z]/", "+", $string);
这应该用加号替换每个非字母数字字符,对吗?所以我的期望是some+string
,但它呼应:
some++45+string
我在这里想念什么?非常感谢任何帮助。