Mysql
 sql >> база данни >  >> RDS >> Mysql

Празното пространство в полето на базата данни не се премахва от trim()

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   "));

MySQL заместител на TRIM(text_field) това също така премахва UTF интервали без прекъсване, благодарение на коментара на @RudolfRein:

TRIM(REPLACE(text_field, '\xc2\xa0', ' '))

UTF-8 контролен списък:

(повече проверки тук )

  1. Уверете се, че вашият PHP редакторът на изходен код е вътре Режим UTF-8 без спецификация . Или задайте в предпочитанията .

  2. Уверете се, че вашият MySQL клиентът е настроен за кодиране на символи UTF-8 (повече тук и тук ), напр.

    $pdo = new PDO('mysql:host=...;dbname=...;charset=utf8',$userid,$password); $pdo->exec("SET CHARACTER SET utf8");

  3. Уверете се, че вашият HTTP сървърът е настроен за UTF-8, напр. за Apache :

    AddDefaultCharset UTF-8

  4. Уверете се, че браузърът очаква UTF-8.

    header('Content-Type: text/html; charset=utf-8');

    или

    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да покажа данни от mysql с помощта на angular.js PHP?

  2. Как да направя друга колона за автоматично увеличение на MySQL?

  3. Как да изградя следващите и предишни връзки с php?

  4. SQLSTATE[HY000] [2002] Няма такъв файл или директория

  5. Разделен със запетая низ --> FUNCTION db.CHARINDEX не съществува