Voglio ottenere del testo da una pagina PHP in un'applicazione Android. Finché i caratteri sono ASCII (fino a 128) non ci sono problemi, ma quando voglio visualizzare caratteri speciali come 'Ţ', 'Â' (il cosiddetto Supplemento Latin-1 e/o Latin Extended-A - vederlo a Unicode Chart) Ricevo simboli strani nella mia applicazione Android ().Caratteri speciali tra applicazione Android e script PHP
Il problema è che la mia applicazione Android non può gestire caratteri da Latin-1 Supplement (che può essere PHP) ma caratteri dal set di caratteri Latin Extended-A (che PHP non può). Non so quale set di caratteri comune usare per entrambi i linguaggi perché quello che Java è in grado di leggere PHP non lo è, e viceversa.
funzione My Java che ottiene il contenuto della pagina PHP è questo:
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;
}
Quindi, questo codice mi dà il contenuto del script.php pagina. Se i caratteri del testo ricevuto sono da 0 a 128, non ci sono problemi. Altrove, ho strani personaggi.
Ora, questo è il mio codice PHP:
<?php
header("Content-Type: text/plain;charset=utf-8");
echo "ÂŞÂĂĒ";
?>
Ho anche un'applicazione C++ e si fa leggere il testo in modo corretto. Ho provato molti metodi tutto il giorno e semplicemente non capisco. Chi, dove, perché? Grazie.
Forse guardare a questo http://stackoverflow.com/questions/4917860/android-character- encoding-raw-resource-files e questo http://stackoverflow.com/questions/3098207/how-to-set-string-character-encoding-in-android - qualche aiuto lì? – Aerik
Grazie Aerik. Ora posso inviarli correttamente da PHP ad Android ma non da Android a PHP. Continuare a provare ... – ali