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

Bagaimana cara memfilter karakter Emoji dari input saya sehingga saya dapat menyimpan di MySQL <5.5?

Jadi ternyata ini sudah beberapa kali dijawab, cuma saya belum cukup Google-fu yang pas untuk mencari pertanyaan yang ada.

Terima kasih kepada Martijn Pieters , solusinya datang dari dunia ekspresi reguler, khususnya kode ini (berdasarkan jawabannya pada tautan pertama di atas):

import re
try:
    # UCS-4
    highpoints = re.compile(u'[\U00010000-\U0010ffff]')
except re.error:
    # UCS-2
    highpoints = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')
# mytext = u'<some string containing 4-byte chars>'
mytext = highpoints.sub(u'\u25FD', mytext)

Karakter yang saya ganti adalah WHITE MEDIUM SMALL SQUARE (U+25FD) , FYI, tapi bisa apa saja.

Bagi mereka yang tidak terbiasa dengan UCS, seperti saya, ini adalah sistem untuk konversi Unicode dan pembangunan Python yang diberikan akan menyertakan dukungan untuk varian UCS-2 atau UCS-4, yang masing-masing memiliki batas atas yang berbeda pada dukungan karakter.

Dengan penambahan kode ini, string tampaknya bertahan di MySQL 5.1 dengan baik.

Semoga ini bisa membantu orang lain dalam situasi yang sama!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perintah MySqli tidak sinkron; Anda tidak dapat menjalankan perintah ini sekarang

  2. Bagaimana saya menerapkan pencarian situs sederhana dengan php dan mySQL?

  3. Bagaimana cara mempercepat proses database?

  4. Bagaimana cara mengaktifkan Log Kueri MySQL?

  5. Bagaimana melakukan time_to_minute di Mysql?