Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Spasi di bidang database tidak dihapus oleh trim()

function UberTrim($s) {
    $s = preg_replace('/\xA0/u', ' ', $s);  // strips UTF-8 NBSP: "\xC2\xA0"
    $s = trim($s);
    return $s;
}

Pengkodean karakter UTF-8 untuk ruang tanpa jeda, Unicode (U+00A0), adalah Urutan 2 byte C2 A0 . Saya mencoba menggunakan parameter kedua ke trim() tapi itu tidak berhasil. Contoh penggunaan:

assert("abc" === UberTrim("  \r\n  \xc2\xa0  abc  \t \xc2\xa0   "));

Pengganti MySQL untuk TRIM(text_field) yang juga menghapus spasi tanpa jeda UTF, berkat komentar @RudolfRein:

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

Daftar periksa UTF-8:

(selengkapnya cek di sini )

  1. Pastikan PHP . Anda editor kode sumber ada di mode UTF-8 tanpa BOM . Atau atur di preferensi .

  2. Pastikan MySQL . Anda klien disetel untuk pengkodean karakter UTF-8 (selengkapnya di sini dan di sini ), misalnya

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

  3. Pastikan HTTP . Anda server diatur untuk UTF-8, mis. untuk Apache :

    AddDefaultCharset UTF-8

  4. Pastikan browser mengharapkan UTF-8.

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

    atau

    <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. Mungkinkah melakukan kunci asing MySQL ke salah satu dari dua tabel yang mungkin?

  2. Menemukan tanggal antara tanggal mulai dan tanggal akhir

  3. Bagaimana saya bisa menonaktifkan ID peningkatan otomatis dari pembaruan pada pembaruan kunci duplikat?

  4. Cara:mencocokkan (mencari ruang) melawan (bergabung dengan kolom dari tabel lain)

  5. Cara menambah nilai di MySQL dengan PHP mysqli