我遇到一个问题,我认为原因是我收到了一些使用unicode空格和ascii空格的数据。这导致某些看起来相同的字符串并不等同,例如 "water resistant" != "water resistant"。这些字符串在我的数据库中呈现不同,使用了一些奇怪的字符,通常在出现多字节字符时可以看到:"water resistantÂ" 和 " water resistant"。
我想找到一种方法,使所有的空格都成为ascii空格,或者更容易的办法是将所有的空格变成多字节空格。
我尝试使用preg_replace,但这样字符串就不能被识别为有效的多字节字符串了(多字节字符会显示为垃圾字符)。
preg_replace('/[\pZ\pC]/',' ',$field);
我也尝试过使用mb_ereg_replace,但没有效果。
mb_ereg_replace('/[\pZ\pC]/',' ',$field)