Làm cách nào để mã hóa một thứ gì đó bằng ut8mb4 bằng Python?Cách mã hóa (utf8mb4) bằng Python
Tôi có hai bộ dữ liệu: dữ liệu Tôi đang di chuyển sang cơ sở dữ liệu MySQL mới của mình từ Parse và dữ liệu đi tiếp (chỉ nói đến cơ sở dữ liệu mới của tôi). Cơ sở dữ liệu của tôi là utf8mb4 để lưu trữ biểu tượng cảm xúc và các chữ cái có dấu.
Tập đầu tiên của dữ liệu chỉ xuất hiện một cách chính xác (khi biểu tượng cảm xúc và điểm nhấn được tham gia) khi tôi có trong kịch bản python của tôi:
MySQLdb.escape_string(unicode(xstr(data.get('message'))).encode('utf-8'))
và khi đọc từ cơ sở dữ liệu MySQL trong PHP:
$row["message"] = utf8_encode($row["message"]);
Tập dữ liệu thứ hai chỉ hiển thị chính xác (khi có biểu tượng cảm xúc và dấu trọng âm) khi tôi KHÔNG bao gồm phần utf8_encode($row["message"])
. Tôi đang cố gắng điều chỉnh những thứ này để cả hai bộ dữ liệu được trả lại chính xác cho ứng dụng iOS của tôi. Hãy giúp tôi!
Tôi đoán bạn đang nói về MySQL ? Nếu vậy thì utf8 của Python sẽ giống hệt với utf8mb4 của MySQL. Bạn có thể cụ thể hơn về những gì bạn đang làm và kết quả bạn thấy không? –
Có vẻ như utf8mb4 là một cái gì đó MySQL phát minh bởi vì thực hiện ut8 của họ chỉ hoạt động với các ký tự BMP. Đây không phải là trường hợp cho utf8 bình thường, có thể mã hóa bất kỳ ký tự unicode nào. Đó là mã hóa mà Python đang sử dụng. Có lẽ MySQL cung cấp một tập hợp các chức năng để làm việc với mã hóa tùy chỉnh của họ? – Cameron
@MarkRansom đã thêm nhiều câu hỏi cụ thể hơn – user3781236