Tôi đã nhập văn bản từ thiết bị di động. Nó chứa biểu tượng cảm xúc. Trong C#, tôi có văn bản nhưLàm cách nào để xóa ký tự biểu tượng cảm xúc khỏi chuỗi?
Text text
một cách đơn giản, tôi muốn các văn bản đầu ra được
Text text
Tôi đang cố gắng để chỉ loại bỏ tất cả các biểu tượng cảm xúc như vậy từ các văn bản với rejex .. ngoại trừ, tôi không chắc chắn làm thế nào để chuyển đổi biểu tượng cảm xúc đó vào chuỗi unicode của nó .. Làm cách nào để làm điều đó?
chỉnh sửa:
Tôi đang cố lưu đầu vào của người dùng vào mysql. Dường như mysql UTF8 không thực sự hỗ trợ các ký tự unicode và right way to do it would be by changing the schema nhưng tôi không nghĩ rằng đó là một lựa chọn cho tôi. Vì vậy, tôi đang cố gắng để loại bỏ tất cả các ký tự biểu tượng cảm xúc trước khi lưu nó trong cơ sở dữ liệu.
Đây là sơ đồ của tôi cho các cột có liên quan:
Tôi đang sử dụng Nhibernate như ORM của tôi và truy vấn chèn tạo ra vẻ như thế này:
Insert into `Content` (ContentTypeId, Comments, DateCreated)
values (?p0, ?p1, ?p2);
?p0 = 4 [Type: Int32 (0)]. ?p1 = 'Text text' [Type: String (20)], ?p2 = 19/01/2015 10:38:23 [Type: DateTime (0)]
Khi tôi sao chép này truy vấn từ nhật ký và chạy trực tiếp trên mysql, tôi nhận được lỗi này:
1 warning(s): 1366 Incorrect string value: '\xF0\x9F\x98\x80 t...' for column 'Comments' at row 1 0.000 sec
Ngoài ra, tôi đã cố gắng để chuyển đổi nó sang byte mã hóa và nó không thực sự làm việc ..
Nó không thực sự rõ ràng những gì bạn đang cố gắng đạt được - bạn sẽ làm gì với giá trị chuỗi sau khi thay thế các ký tự? –
@JonSkeet đã chỉnh sửa bài đăng, cảm ơn. – LocustHorde
UTF-8 thực sự * nên * ở đây tốt. Bạn có thể đăng chi tiết về cách bạn hiện đang cố gắng lưu dữ liệu, cùng với thông tin lược đồ của bạn không? –