Cómo convertir caracteres de indicador a caracteres Unicode Escaped

Actualmente estoy diseñando una aplicación móvil para Android. El texto y el contenido están en el idioma local, Tamil. Para bienvenida, el equivalente de la traducción tamil es: வணக்கம் . Dado que Android no puede mostrar el texto de indicador, lo estoy convirtiendo con un servicio llamado JavaScript String Escape .

Así que esto funciona de esta manera:

  • Entrada: வணக்கம்
  • Salida: \u0BB5\u0BA3\u0B95\u0BCD\u0B95\u0BAE\u0BCD

¿Cómo puedo hacer esto usando JavaScript o PHP como tengo grandes cargas de texto para convertir y lo convirtió en JSON. Muestra 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"] } 

También me gustaría saber cómo decodificar el JSON anterior y mostrarlo como வணக்கம் . Gracias por adelantado.

Lo que buscas es escape() en JavaScript y json_encode() en PHP. Abra la consola y escriba lo siguiente:

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

Y obtendrá lo siguiente:

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

Así que el primero está resuelto. Para recuperar el original வணக்கம் del anterior, use unescape() :

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

Nota: Una cosa a tener en cuenta es que tanto escape() como unescape() están obsoletos. Por lo que necesita utilizar encodeURIComponent y decodeURIComponent

Avance

Actualización para el lado del servidor

Para la codificación y decodificación en JSON, es mejor para usted utilizar la función incorporada de PHP. El mismo escape() también se puede usar en PHP como json_encode() , ambos dan el mismo resultado.

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

También, vea JavaScript: Escaping Special Characters para más información. Espero que esto ayude. :)

  • Cómo convertir una cadena UTF a ANSI y crear un archivo de texto ANSI en SSD con JAVA-ANDROID
  • Post datos UTF-8 codificados en el servidor pierde ciertos caracteres
  • Android Studio: unmappable character para codificar UTF-8
  • Conversión UTF-8 en Android?
  • Enviar cadenas codificadas utf-8 en la solicitud HTTP de Android
  • Convertir cadena a Android JSONObject pierde utf-8
  • ¿Cómo puedo poner utf-16 caracteres en Android cadena de recursos?
  • Codificación Utf-8 para Android
  • Cómo almacenar y mostrar caracteres ISO-8859-1 y UTF8 utilizando perl
  • Java - Convertir cadena a objeto URI válido
  • Android Talkback no lee caracteres utf-8 en la vista Web usando html
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.