2016-01-21 22 views
7

Tôi hiện đang thiết kế ứng dụng dành cho thiết bị di động cho Android. Văn bản và nội dung nằm trong Ngôn ngữ địa phương, tiếng Tamil. Đối với Chào mừng, tương đương với bản dịch tiếng Tamil là: வணக்கம். Vì Android không thể hiển thị Văn bản chỉ định, tôi đang chuyển đổi nó bằng dịch vụ được gọi là JavaScript String Escape.Cách chuyển đổi Ký tự thành Unicode sang ký tự Đã thoát

Vì vậy, điều này làm việc theo cách này:

  • Input:வணக்கம்
  • Output:\u0BB5\u0BA3\u0B95\u0BCD\u0B95\u0BAE\u0BCD

Làm thế nào tôi có thể làm cho này sử dụng JavaScript hoặc PHP như tôi có tải trọng lớn của văn bản được chuyển đổi và biến nó thành JSON. Mẫu JSON:

{ 
    "title": "\u0BAE\u0BB0\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0BB5\u0BB0\u0BBF\u0BA9\u0BCD \u0BAA\u0BC6\u0BAF\u0BB0\u0BCD #1", 
    "image": "http://www.exceptnothing.com/doctors/doc11.png", 
    "rating": "\u2713 \u0B87\u0BAA\u0BCD\u0BAA\u0BC7\u0BBE\u0BA4\u0BC1 \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD", 
    "rating2": "", 
    "releaseYear": "\u0BA8\u0BBE\u0BB3\u0BCD \u0BAE\u0BC1\u0BB4\u0BC1\u0BB5\u0BA4\u0BC1\u0BAE\u0BCD \u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD", 
    "genre": ["\u25B6 \u0B87\u0BA4\u0BAF \u0BA8\u0BBF\u0BAA\u0BC1\u0BA3\u0BB0\u0BCD"] 
} 

Tôi cũng muốn biết cách giải mã JSON ở trên và hiển thị nó là வணக்கம். Cảm ơn trước.

+0

Có vẻ như bạn cần 'escape()'. –

+0

@PraveenKumar Có đơn giản không? –

Trả lời

4

Điều bạn đang tìm kiếm là escape() bằng JavaScript và json_encode() bằng PHP. Mở giao diện điều khiển của bạn và gõ như sau:

escape("வணக்கம்") 

Và bạn sẽ nhận được sau lại:

"%u0BB5%u0BA3%u0B95%u0BCD%u0B95%u0BAE%u0BCD" 

Vì vậy, người đầu tiên được giải quyết. Để lấy lại gốc வணக்கம் từ trên, sử dụng unescape():

unescape("%u0BB5%u0BA3%u0B95%u0BCD%u0B95%u0BAE%u0BCD"); 

Lưu ý: Một điều cần lưu ý là, cả hai escape()unescape() đang bị phản đối. Vì vậy, bạn cần phải sử dụng encodeURIComponentdecodeURIComponent

Preview

Update cho Server Side

Đối với mã hóa và giải mã thành JSON, nó là tốt hơn cho bạn sử dụng hàm dựng sẵn của PHP. Cùng một escape() cũng có thể được sử dụng trong PHP là json_encode(), cả hai đều cho kết quả tương tự.

json_encode("வணக்கம்"); 
=> "%u0BB5%u0BA3%u0B95%u0BCD%u0B95%u0BAE%u0BCD" 

Ngoài ra, hãy xem JavaScript: Escaping Special Characters để biết thêm thông tin. Hi vọng điêu nay co ich. :)

+0

đó là lý do tại sao bạn có thể sử dụng en/decodeURIComponent mà không bị phản đối – mplungjan

+0

@PraveenKumar Còn về phía máy chủ thì sao? –

Các vấn đề liên quan