所以我遇到了一个问题,我相信正在发生的事情是我正在接收使用一些 unicode 空格和一些 ascii 空格的数据,因此某些看起来相同的字符串是不等价的,例如,“防水”!=“防水”。然而,这些字符串在我的数据库中的显示方式有所不同,当有一个多字节字符时,您通常会看到奇怪的字符:“防水”和“防水”。
我想要一种让所有空格都成为 ascii 空格的方法,或者如果更简单,所有空格都是多字节空格。
我尝试过使用 preg_replace,但是这些字符串不再像有效的多字节字符串那样读取。(字符串中的多字节字符将显示为垃圾)。
preg_replace('/[\pZ\pC]/',' ',$field);
我也尝试过使用 mb_ereg_replace,但没有效果。
mb_ereg_replace('/[\pZ\pC]/',' ',$field)