nếu biểu tượng cảm xúc của bạn không thực hiện chuyến đi khứ hồi (từ ios đến máy chủ phụ trợ và quay lại ios), thì bạn không nên gặp bất kỳ vấn đề nào (ít nhất 4.2+) xử lý mã hóa chính xác và bạn không ' t phải làm bất cứ điều gì. nhưng nếu ứng dụng của bạn tương tác với máy chủ, bạn có nghi ngờ rằng giá trị trả về của máy chủ của bạn sai không? tức là json đã mã hóa sai.
tôi đã cùng một vấn đề, sau khi đào trong nhiều giờ và cuối cùng tìm thấy câu trả lời này làm việc cho tôi: https://stackoverflow.com/a/8339255/1090945
Nếu bạn đang sử dụng đường ray như máy chủ của bạn, đây là tất cả các bạn cần phải làm. Không cần phải làm bất cứ điều gì trong ios/xcode, chỉ cần vượt qua NSString mà không làm bất kỳ công cụ mã hóa UTF8/16 cho máy chủ.
Đăng lại cửa hàng mã chính xác, chỉ khi bạn gửi phản hồi json về máy khách ios của bạn, giả sử bạn thực hiện json: @message, mã hóa json có vấn đề.
bạn có thể kiểm tra xem bạn đang gặp vấn đề mã hóa json theo đường ray của bạn giao diện điều khiển bằng cách làm bài kiểm tra đơn giản trong giao diện điều khiển
test = {"smiley"=>"u{1f604}"}
test.to_json
của bạn nếu nó in ra "{\" cười \ ": \" \ uf604 \ "}" (chú ý 1 bị mất), sau đó bạn có vấn đề này. và bản vá từ liên kết sẽ sửa nó.
Vâng, tôi muốn sử dụng mã hóa di sản của Emoji vì nó có vẻ như ứng dụng của tôi sẽ không làm việc với unicode 6.0 mới, nó có thể đọc '\ ue415' nhưng không đọc' \ U0001f604'. Bạn có thể chỉ cho tôi cách sử dụng tệp ánh xạ _EmojiSources.txt_ mà bạn đã cung cấp không? – Protocole
một số khác là http://arashnorouzi.wordpress.com/2011/08/31/adding-graphics-and-emoji-characters-s-apple-push-notifications/ – GameLoading