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

menormalkan karakter beraksen dalam kueri MySQL

Alasan kesalahan bukanlah tabel tetapi kumpulan karakter dari input Anda, yaitu 'rené' dalam kueri Anda. Perilakunya bergantung pada character_set_connection variabel:

Menggunakan Klien MySQL, ubah menggunakan SET NAMES :

SET character_set_client = charset_name;
SET character_set_results = charset_name;
SET character_set_connection = charset_name;

(dari http://dev.mysql.com/doc /refman/5.5/en/charset-connection.html )

Contoh keluaran:

mysql> set names latin1;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from User where username = 'rené' collate utf8_general_ci;
ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'

mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from User where username = 'rené' collate utf8_general_ci;
Empty set (0.00 sec)

Sebagai alternatif, use dapat secara eksplisit mengatur set karakter menggunakan 'pengenal set karakter':

mysql> set names latin1;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from User where username = _utf8'rené' collate utf8_general_ci;
Empty set (0.00 sec)

Saya tahu pertanyaan ini cukup lama, tetapi karena Google membawa saya ke sini untuk pertanyaan terkait, saya pikir itu masih layak mendapat jawaban :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa cara terbaik untuk menyimpan Alkitab dalam SQL?

  2. Kesalahan penguraian:kesalahan sintaksis, tak terduga '' (T_ENCAPSED_AND_WHITESPACE)

  3. Memenuhi syarat nama kolom tabel sementara di jOOQ

  4. mengonversi stempel waktu menjadi tanggal di java

  5. MySQL ORDER OLEH rand(), nama ASC