Caracteres especiales entre la aplicación de Android y el script PHP
Quiero recibir texto de una página de PHP en una aplicación de Android. Siempre y cuando los caracteres sean ASCII (hasta 128) no hay ningún problema, pero cuando quiero mostrar caracteres especiales como 'Ţ', '' '(los llamados Latin-1 Suplemento y / o Latin Extended-A – vea en Unicode Chart ) Tengo símbolos extraños en mi aplicación de Android ( ).
El problema es que mi aplicación de Android no puede manejar caracteres de Latin-1 Supplement (que PHP puede), sino caracteres del conjunto de caracteres Latin Extended-A (que PHP no puede). No sé qué charset común para ambos idiomas utilizar porque el que Java es capaz de leer PHP no lo es, y viceversa.
- Retrofit2 enviar un método de solicitud PUT es incorrecto para PHP
- Que cliente es mejor HttpURLConnection o HttpClient en android?
- ¿Cómo puedo verificar las transacciones de facturación de Android en la aplicación en MI servidor?
- imap_fetchbody - Error de cuerpo codificado
- SyncML con Android y servicio Web de PHP
Mi función Java que obtiene el contenido de la página PHP es la siguiente:
public static String GetData() { byte[] Bresult = null; HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost("http://www.mypage.com/script.php"); try { List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); nameValuePairs.add(new BasicNameValuePair("var", "val")); post.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8")); HttpResponse response = client.execute(post); StatusLine statusLine = response.getStatusLine(); if(statusLine.getStatusCode() == HttpURLConnection.HTTP_OK){ Bresult = EntityUtils.toByteArray(response.getEntity()); Result = new String(Bresult, "UTF-8"); } } catch (UnsupportedEncodingException e) { Log.w("MYAPP", "Unsupported Encoding Exception (" + e.getMessage() + ")"); } catch (Exception e) { Log.w("MYAPP", "Exception (" + e.getMessage() + ") ocurred"); } return Result; }
Por lo tanto, este código me da el contenido de la página script.php . Si los caracteres del texto recibido son de 0 a 128 no hay problema. En otro lugar, tengo personajes raros.
Ahora, este es mi código PHP:
<?php header("Content-Type: text/plain;charset=utf-8"); echo "ÂŞÂĂĒ"; ?>
También tengo una aplicación de C ++ y lee el texto correctamente. He estado intentando muchos métodos todo el día y no lo entiendo. ¿Quién, dónde, por qué? Gracias.
- Enviar solicitud de correo utilizando Volley y recibir en PHP
- La página principal de WAMP Server se abre bien en android, pero las páginas web desplegadas no se cargan
- Android JSON HttpClient para enviar datos al servidor PHP con HttpResponse
- Android: Carga de un archivo en una página junto con otras cadenas POST
- Acceso y almacenamiento de gran cantidad de datos desde el servidor mysql
- ¿Cómo puedo enviar un mensaje a WhatsApp Group y sincronizar contactos con WhatsAPI?
- Consumir API de intercambio de pilas
- Enviar mensajes FCM del lado del servidor al dispositivo Android
¿De dónde sacas los datos ?, si es a través de una base de datos mysql debes especificar UTF8 como éste
mysql_query("SET NAMES 'utf8'");
- ¿Podemos controlar la posición final de un fling en un ListView
- ¿AnimateLayoutChanges funciona en ListView?