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

Ada simbol seperti  dan sebagainya di database, apa yang harus dilakukan?

Itu tergantung apa masalahnya sebenarnya...

Jika karakter tersebut seharusnya untuk berada di sana (seperti "Mañana" dalam bahasa Spanyol) maka Anda harus memastikan semuanya dalam UTF-8... cara terbaik adalah:

1:periksa tabel database dalam penyandian "utf-8" (jika tidak dikonversi ke utf-8)

2:seperti yang dicatat Martin, pastikan konektor database utf-8 menggunakan sesuatu seperti:

mysql_set_charset('utf8'); //note that MySQL uses no hyphen here

3:pastikan dokumennya adalah utf-8 (Anda dapat menambahkan header di bagian atas)

<?php header('Content-type:text/html;charset=utf-8'); ?>

4:agar aman, tambahkan juga sebagai tag meta

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

NAMUN

Sangat mungkin Anda memiliki beberapa karakter duff di database di mana sesuatu seperti ISO-8859-1 telah disulap ke UTF-8, dengan buruk. Dalam hal ini Anda akan melihat hal-hal seperti £ di mana yang sebenarnya Anda inginkan adalah £ (karena karakter UTF-8 berisi lebih banyak data daripada karakter ISO-8859-1, data tambahan tersebut dapat menjadi karakter tambahan jika Anda tidak hati-hati).

Dalam hal ini, taruhan terbaik Anda adalah membersihkan database (Anda mungkin dapat melakukan sesuatu seperti UPDATE table SET field = REPLACE(field, '£', '£') untuk "kesalahan" umum), lalu konversikan seluruh kaboodle ke UTF-8 (seperti yang diuraikan di atas) untuk menghindari masalah berulang.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP MySQL melalui SSL. Sertifikat rekan tidak cocok

  2. Bagaimana cara memasukkan ke dalam tabel yang sama di MySQL?

  3. gabung dalam dan di mana kinerja klausa in()?

  4. Batasan kunci asing MySQL 5.5 gagal ketika kunci asing ada

  5. Performa di PDO / PHP / MySQL:transaksi versus eksekusi langsung