Sicuramente questo problema è già uscito fuori, ma nonostante abbia cercato non sono riuscito a risolvere.
Ho una applicazione Android che interroga il db tramite script php.
Il problema è che quando faccio una insert e inserisco caratteri accentanti, al momento della scrittura mi taglia la stringa dal carattere accentato in poi.
Ho provato a settare a UTF-8 tutto: il mio db, lo script php con un editore di testo, il codice Java di android, penso tutto!
Il db è settato a utf8_unicode_ci
Questo il mio codice PHP:
Questo il mio codice Java:Codice PHP:<?php
header('Content-type: text/html;charset=utf-8');
mysql_connect(--);
mysql_select_db(--);
mysql_query("SET CHARACTER SET utf8");
//Inserimento
mysql_query("INSERT INTO testo(utente, descrizione) VALUES ('".$_REQUEST['utente']."', '".$_REQUEST['descrizione']."');
?>
codice:private class InviaTask extends AsyncTask<Void,String,String> { protected String doInBackground(Void... params) { ArrayList<NameValuePair> dati = new ArrayList<NameValuePair>(); dati.add(new BasicNameValuePair("utente",utente)); dati.add(new BasicNameValuePair("descrizione",desc)); try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.miosito.it/invia.php"); httppost.setEntity(new UrlEncodedFormEntity(dati)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); }catch(Exception e){ Log.e("log_REMOTO", "Errore nella connessione HTTP: "+e.toString()); } try{ BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result = "OK"; }catch(Exception e){ Log.e("log_REMOTO", "Errore nella conversione del risultato: "+e.toString()); } return result; } }

LinkBack URL
About LinkBacks
Rispondi quotando