2011-01-06 42 views
2

我有一个UTF8编码的mysql数据库。但是,由于我继承的某些先前的转换问题,某些字符串已被错误地保存到数据库中。mysql php编码

例如,£应该保存为£,但是在很多地方它被保存为类似于××。

我已经能够追踪表中所有不正确编码的记录。什么是我从这个varchar数据库字段中删除所有无用字符的最简单方法?

我试过preg_replace在PHP中,但这似乎并没有实际做任何事情。

return preg_replace("[^A-Za-z0-9£]", "", $string); 

回答

2

你必须用分隔符正则表达式:

return preg_replace("/[^A-Za-z0-9£]/", "", $string); 
+0

正在处理中, – DTest 2011-01-06 16:17:06

0

什么正在从电话的preg_replace,未受影响的字符串或返回NULL?如果它为空,则根据preg_replace manual发生错误。除了@AndreKR发布的缺失分隔符外,它对我来说很好(用字符串£进行测试)