我有一个UTF8编码的mysql数据库。但是,由于我继承的某些先前的转换问题,某些字符串已被错误地保存到数据库中。mysql php编码
例如,£应该保存为£,但是在很多地方它被保存为类似于××。
我已经能够追踪表中所有不正确编码的记录。什么是我从这个varchar数据库字段中删除所有无用字符的最简单方法?
我试过preg_replace在PHP中,但这似乎并没有实际做任何事情。
return preg_replace("[^A-Za-z0-9£]", "", $string);
我有一个UTF8编码的mysql数据库。但是,由于我继承的某些先前的转换问题,某些字符串已被错误地保存到数据库中。mysql php编码
例如,£应该保存为£,但是在很多地方它被保存为类似于××。
我已经能够追踪表中所有不正确编码的记录。什么是我从这个varchar数据库字段中删除所有无用字符的最简单方法?
我试过preg_replace在PHP中,但这似乎并没有实际做任何事情。
return preg_replace("[^A-Za-z0-9£]", "", $string);
你必须用分隔符正则表达式:
return preg_replace("/[^A-Za-z0-9£]/", "", $string);
什么正在从电话的preg_replace,未受影响的字符串或返回NULL?如果它为空,则根据preg_replace manual发生错误。除了@AndreKR发布的缺失分隔符外,它对我来说很好(用字符串£
进行测试)
正在处理中, – DTest 2011-01-06 16:17:06