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

Python, konversi char 4-byte untuk menghindari kesalahan MySQL Nilai string salah:

Dalam build UCS-2, python menggunakan 2 unit kode secara internal untuk setiap karakter unicode melalui \U0000ffff titik kode. Ekspresi reguler perlu bekerja dengan itu, jadi Anda harus menggunakan ekspresi reguler berikut untuk mencocokkan ini:

highpoints = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')

Ekspresi reguler ini cocok dengan titik kode apa pun yang dikodekan dengan pasangan pengganti UTF-16 (lihat Kode UTF-16 menunjukkan U+10000 ke U+10FFFF .

Untuk membuat ini kompatibel di seluruh versi Python UCS-2 dan UCS-4, Anda dapat menggunakan try: /except untuk menggunakan satu atau yang lain:

try:
    highpoints = re.compile(u'[\U00010000-\U0010ffff]')
except re.error:
    # UCS-2 build
    highpoints = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')

Demonstrasi pada build python UCS-2:

>>> import re
>>> highpoints = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')
>>> example = u'Some example text with a sleepy face: \U0001f62a'
>>> highpoints.sub(u'', example)
u'Some example text with a sleepy face: '



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Masukkan ke dalam beberapa tabel? (normalisasi basis data?)

  2. Bagaimana menghubungkan database mySQL menggunakan C++

  3. Cara Menghentikan/Memulai MySQL menggunakan MySQL Workbench

  4. Bagaimana cara memanggil prosedur tersimpan MySQL dari Rails?

  5. Dukungan ScaleGrid DigitalOcean untuk MySQL, PostgreSQL, dan Redis™ Sekarang Tersedia