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

Masalah dalam memasukkan string utf-8 ke dalam database dan kemudian mengeluarkannya ke halaman web

Ya, saya bisa.
Anda tidak memberi tahu server Mysql, penyandian data apa yang Anda inginkan.
Mysql dapat menyediakan penyandian apa pun jika penyandian halaman Anda berbeda dengan penyandian data yang disimpan. Dan kode ulang dengan cepat.
Jadi, itu perlu diberitahu tentang pengkodean pilihan klien (kode PHP Anda adalah klien database itu).
Secara default adalah latin1 . Jadi, karena tidak ada simbol seperti itu dalam tabel karakter latin1, tanda tanya yang dikembalikan sebagai gantinya.

Ada 2 cara untuk memberi tahu mysql pengkodean apa yang kita inginkan:

  • yang sedikit lebih disukai adalah mysqli_set_charset() function (metode dalam kasus Anda).
  • yang kurang disukai adalah SET NAMES pertanyaan.

Tetapi selama Anda menggunakan ekstensi mysqli dengan benar, tidak masalah. (meskipun Anda tidak)

Perhatikan bahwa di mysql pengkodean ini disebut utf8 , tanpa tanda hubung atau spasi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqli-- siapkan pernyataan gagal dengan kesalahan tidak ada tabel yang digunakan

  2. Variabel MySQL yang ditentukan pengguna di Laravel 3?

  3. Periksa apakah ada baris dengan nilai yang diberikan

  4. Normalisasi membuat penggabungan di beberapa tabel menjadi sulit

  5. Cara mendeteksi karakter UTF-8 dalam kolom yang disandikan Latin1 - MySQL