function UberTrim($s) {
$s = preg_replace('/\xA0/u', ' ', $s); // strips UTF-8 NBSP: "\xC2\xA0"
$s = trim($s);
return $s;
}
बिना ब्रेक वाले स्थान के लिए UTF-8 वर्ण एन्कोडिंग, यूनिकोड (U+00A0), 2-बाइट अनुक्रम
सी2
ए0
. मैंने दूसरे पैरामीटर का उपयोग trim()
लेकिन यह चाल नहीं चली। उदाहरण उपयोग:
assert("abc" === UberTrim(" \r\n \xc2\xa0 abc \t \xc2\xa0 "));
TRIM(text_field)
. के लिए एक MySQL प्रतिस्थापन यह यूटीएफ नो-ब्रेक रिक्त स्थान को भी हटा देता है, @ रुडोल्फरेन की टिप्पणी के लिए धन्यवाद:
TRIM(REPLACE(text_field, '\xc2\xa0', ' '))
UTF-8 चेकलिस्ट:
(अधिक जांच यहां )
-
सुनिश्चित करें कि आपका PHP स्रोत कोड संपादक में है UTF-8 मोड बिना BOM . या वरीयताओं में सेट करें ।
-
सुनिश्चित करें कि आपका MySQL क्लाइंट UTF-8 वर्ण एन्कोडिंग के लिए सेट है (अधिक यहां और यहां ), उदा.
$pdo =new PDO('mysql:host=...;dbname=...;charset=utf8',$userid,$password);
$pdo->exec("SET CHARACTER SET utf8");
-
सुनिश्चित करें कि आपका HTTP सर्वर UTF-8 के लिए सेट है, उदा। अपाचे के लिए :
AddDefaultCharset UTF-8
-
सुनिश्चित करें कि ब्राउज़र UTF-8 की अपेक्षा करता है।
हैडर ('सामग्री-प्रकार:टेक्स्ट/एचटीएमएल; चारसेट =utf-8');
या