Tengo una base de datos en mi aplicación Android y lo publico desde la misma o desde Hostinguer
y funciona . Lo que sucede es que si introduzco un tilde o la letra "ñ" simplemente no se me publica. Es decir no lo acepta.
Estoy seguro de que es algo de utf-8 y algún parámetro que me estoy saltando pero no lo veo y he introducido diferentes formas de utf-8 sin resultado.
¿Qué parámetros me falta por cambiar?
El problema era en java ya que en la base de datos me deja poner tildes, el problema es cuando lo introduzco desde la App, tengo que poner en algún lado lo de UTF-8 ? Intuyo que sí pero dónde?
public class Admin extends AppCompatActivity {
EditText titulo_in;
EditText descripcion_in;
Button btnActualizarA;
String recuperado="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.admin);
titulo_in = (EditText)findViewById(R.id.titulo_in);
descripcion_in = (EditText)findViewById(R.id.descripcion_in);
// titu = titulo_in.getText().toString();
//desc = descripcion_in.getText().toString();
final Bundle recupera=getIntent().getExtras();
if(recupera!=null){
recuperado=recupera.getString("cod");
}
btnActualizarA=(Button)findViewById(R.id.publicar);
btnActualizarA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Thread tr2=new Thread(){
@Override
public void run() {
ActualizarPost(recuperado, titulo_in.getText().toString(), descripcion_in.getText().toString());
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(),"Se ha completado la publicación", Toast.LENGTH_SHORT).show();
}
});
}
};
tr2.start();
}
});
}
public void ActualizarPost(String c, String tit, String des){
String urlParameters="cod="+c+"&tit="+tit+"&des="+des;
// HttpURLConnection conection=null;
try{
URL url=new URL("xxxx");
HttpURLConnection conection = (HttpURLConnection) url.openConnection();
conection.setRequestProperty("Accept-Charset", "UTF-8");
// BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
//estableciendo el metodo
conection.setRequestMethod("POST");
//longitud de datos que se envian
conection.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters.getBytes().length));
conection.setRequestProperty("Content-Type", "application/json; charset=utf-8");
//comando para la salida de datos
conection.setDoOutput(true);
DataOutputStream wr=new DataOutputStream(conection.getOutputStream());
wr.writeBytes(urlParameters);
wr.close();
InputStream is =conection.getInputStream();
}catch (Exception ex){}
}
}