我想从MySQL表中删除特殊字符,但使用UTF8字符(如阿拉伯语)。MySQL使用正则表达式删除特殊字符
这是去除常见的特殊字符,如“'@!* $等
我已经使用PHP中伟大的工程以下。
preg_replace('/(?=\P{Nd})\P{L}/u', '', $name);
我想从MySQL表中删除特殊字符,但使用UTF8字符(如阿拉伯语)。MySQL使用正则表达式删除特殊字符
这是去除常见的特殊字符,如“'@!* $等
我已经使用PHP中伟大的工程以下。
preg_replace('/(?=\P{Nd})\P{L}/u', '', $name);
您可以使用更新的行同样的正则表达式进行比较。
在MySQL中的字符串的正则表达式运算符REGEXP和RLIKE。 我希望,这应该解决您的问题。:)
类似这样的东西? (尽管这不起作用) 'UPDATE'accounts'.'accounts' SET' name' = REPLACE('name','/(?= \ P {Nd})\ P {L}/u', '') WHERE'name' REGEXP'/(?= \ P {Nd})\ P {L}/u'; ' – user2508669
是的,查询似乎是正确的。 – Prashant
而且,您也可以使用LIKE。据说使查询速度比使用REGEXP进行比较要快。 – Prashant
仅供参考,关于这些角色没有什么“特殊”... – deceze