Mysql
 sql >> база данни >  >> RDS >> Mysql

Python, преобразувайте 4-байтов символ, за да избегнете грешка в MySQL Неправилна стойност на низа:

При изграждане на UCS-2, python използва 2 кодови единици вътрешно за всеки уникод символ през \U0000ffff кодова точка. Регулярните изрази трябва да работят с тях, така че ще трябва да използвате следния регулярен израз, за ​​да ги съпоставите:

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

Този регулярен израз съответства на всяка кодова точка, кодирана с UTF-16 сурогатна двойка (вижте UTF-16 Кодови точки U+10000 до U+10FFFF .

За да направите това съвместимо между версиите на Python UCS-2 и UCS-4, можете да използвате try: /except за да използвате едното или другото:

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

Демонстрация на UCS-2 python build:

>>> 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 и кога да го използвам?

  2. rails + MySQL на OSX:Библиотеката не е заредена:libmysqlclient.18.dylib

  3. вземете преди 2 дни заявка в mysql

  4. Върнете ред само ако стойността не съществува

  5. MySQL таблица с множество стойности в едно поле