function UberTrim($s) {
$s = preg_replace('/\xA0/u', ' ', $s); // strips UTF-8 NBSP: "\xC2\xA0"
$s = trim($s);
return $s;
}
ノーブレークスペースのUTF-8文字エンコードであるUnicode(U + 00A0)は、2バイトシーケンス
C2
A0
。 trim()
>
しかし、それはうまくいきませんでした。使用例:
assert("abc" === UberTrim(" \r\n \xc2\xa0 abc \t \xc2\xa0 "));
TRIM(text_field)
のMySQL置換 @RudolfReinのコメントのおかげで、UTFのノーブレークスペースも削除されます:
TRIM(REPLACE(text_field, '\xc2\xa0', ' '))
UTF-8チェックリスト:
(その他のチェックこちら )
-
MySQLを確認してください クライアントはUTF-8文字エンコード用に設定されています(こちら および
こちら )、例: $ pdo =new PDO('mysql:host =...; dbname =...; charset =utf8'、$ userid、$ password);
$ pdo-> exec( "SET CHARACTER SET utf8");
-
HTTPを確認してください サーバーはUTF-8に設定されています。 Apache の場合 :
AddDefaultCharset UTF-8
-
ブラウザを確認してください UTF-8を期待しています。
header('Content-Type:text / html; charset =utf-8');
または