Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để lọc các ký tự Biểu tượng cảm xúc từ dữ liệu nhập của tôi để tôi có thể lưu trong MySQL <5.5?

Vì vậy, hóa ra điều này đã được trả lời một vài lần, tôi chỉ không có Google-fu phù hợp để tìm các câu hỏi hiện có.

Cảm ơn Martijn Pieters , giải pháp đến từ thế giới của các biểu thức chính quy, cụ thể là mã này (dựa trên câu trả lời của anh ấy cho liên kết đầu tiên ở trên):

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)

Ký tự mà tôi đang thay thế là WHITE MEDIUM SMALL SQUARE (U+25FD) , FYI, nhưng có thể là bất cứ thứ gì.

Đối với những người không quen thuộc với UCS, như tôi, đây là một hệ thống để chuyển đổi Unicode và một phiên bản Python nhất định sẽ bao gồm hỗ trợ cho biến thể UCS-2 hoặc UCS-4, mỗi biến thể có giới hạn trên khác nhau về hỗ trợ ký tự.

Với việc bổ sung mã này, các chuỗi dường như vẫn tồn tại trong MySQL 5.1 tốt.

Hy vọng điều này sẽ giúp ích cho những ai khác trong hoàn cảnh tương tự!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn và truy xuất hình ảnh vào mysql thông qua python

  2. MYSQL Ngày Thời gian Tròn đến Giờ Gần nhất

  3. Người theo dõi / cấu trúc cơ sở dữ liệu sau

  4. mysql:tại sao so sánh 'chuỗi' với 0 lại cho kết quả đúng?

  5. DOUBLE so với DECIMAL trong MySQL