php – trim()不会删除数据库字段中的空格
我在
MySQL的文本字段中的段落开头有一些空格.
在PHP语句中使用PHP中的trim($var_text_field)或在MySQL语句中使用TRIM(text_field)绝对没有.这个空白是什么,我如何通过代码删除它? 如果我进入数据库并将其退出,它会正确保存.它只是没有通过trim()函数删除. 解决方法function UberTrim($s) { $s = preg_replace('/xA0/u',' ',$s); // strips UTF-8 NBSP: "xC2xA0" $s = trim($s); return $s; } 不间断空间的UTF-8字符编码Unicode(U 00A0)是2-byte sequence C2 A0.我试图利用second parameter to assert("abc" === UberTrim(" rn xc2xa0 abc t xc2xa0 ")); 由于@RudolfRein的评论,一个MySQL替换TRIM(text_field)也删除了UTF不间断空格: TRIM(REPLACE(text_field,'xc2xa0',' ')) UTF-8清单: (更多检查here) >确保您的PHP源代码编辑器位于UTF-8 mode without BOM.或者在preferences中设置. $pdo = new PDO(‘mysql:host = …; dbname = …; charset = utf8’,$userid,$password); AddDefaultCharset UTF-8 header(‘Content-Type:text / html; charset = utf-8’); 要么 < meta http-equiv =“Content-Type”content =“text / html; charset = utf-8”/> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |