【发布时间】:2011-06-13 07:01:36
【问题描述】:
我使用这个正则表达式从字符串输入中删除所有标点符号,
$pg_url = preg_replace("/\W+/", " ", $pg_url);
但有些符号或特殊字符我无法删除,例如
–
当我将它传递给我的数据库注入时,它会变成â 或â€
我怎样才能摆脱这些奇怪的东西?
谢谢。
【问题讨论】:
-
听起来更像是数据库字符集问题...
-
你肯定遇到了字符编码问题。确保您的应用程序的所有部分都使用相同的字符编码,并且问题应该会消失。
-
这个“奇怪的东西”是人们傲慢地没有用 7 位英文编码的文本碰巧相处。让你的字符编码直接,它们不会被破坏。
-
非常感谢。现在用 iconv 对其进行排序! :-)
标签: php regex preg-replace special-characters