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:
- Android XmlPullParser UTF-8 problema
- Android muestra texto en una codificación incorrecta después de la actualización a Java 8
- Personajes extraños en html webview
- Codificación UTF-8 en WebView e ICS
- UTF-8 de codificación en Volley Requests
- 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.
- Android newline en mi EditText
- Android - Cómo convertir la cadena en utf-8 en android
- La codificación de html de Android 4.0 se descompone en la vista web
- EditText devuelve mejorado ISO-8859-1 en lugar de codificación UTF-8 para umlauts alemán?
- Cadena de byte con UTF-8 da diferentes resultados en Android que en Windows JVM
- Extraño problema de codificación JSON en Android 4.1.2
- Almacenamiento y recuperación de datos no ingleses en la base de datos sqlite en android
- Detectar subrogados altos en una cadena utilizando expresiones regulares
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()
comounescape()
están obsoletos. Por lo que necesita utilizarencodeURIComponent
ydecodeURIComponent
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. :)
- No hay opción de método DataTypeConverter en android
- ¿Cómo apoyar textView.setTextIsSelectable en versiones android inferiores?