Я пытаюсь заставить его принимать знаки ударения, но никому не удалось решить эту проблему для меня, он не читает буквы с знаками ударения напрямую, поэтому единственное решение, которое я считаю более простым, это если вы вводите ударение знак, он изменит его на такой же без знака ударения, скажем, "а" на "а", "é" на "е"... и так далее.
Я тоже собираюсь помочь вам, потому что я нашел этот код, который делает то, что я вам говорю, но я не знаю, как поместить его в свой код.
Пример смены персонажа:
public static String remove1(String input) {
// Cadena de caracteres original a sustituir.
String original = "áàäéèëíìïóòöúùuñÁÀÄÉÈËÍÌÏÓÒÖÚÙÜÑçÇ";
// Cadena de caracteres ASCII que reemplazarán los originales.
String ascii = "aaaeeeiiiooouuunAAAEEEIIIOOOUUUNcC";
String output = input;
for (int i=0; i<original.length(); i++) {
// Reemplazamos los caracteres especiales.
output = output.replace(original.charAt(i), ascii.charAt(i));
}//for i
return output;
}
Это то, что я нашел в Интернете, один из многих, но мой код таков (и он работает):
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){
// HttpURLConnection conection=null;
try{
String titleUtf8 = URLEncoder.encode(tit, "UTF-8").replaceAll("\\+","%20");
String descriptionUtf8 = URLEncoder.encode(des, "UTF-8").replaceAll("\\+","%20");
String urlParameters="cod="+c+"&tit="+titleUtf8+"&des="+descriptionUtf8;
URL url=new URL("http://rudeboys.esy.es/ramiroconnect/publicar.php");
HttpURLConnection conection = (HttpURLConnection) url.openConnection();
// conection.setRequestProperty("Content-Type","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());
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(wr, "UTF-8"));
writer.write(urlParameters);
writer.close();
InputStream is =conection.getInputStream();
}catch (Exception ex){}
}
}
Как изменить код, чтобы он обновлял данные в БД без акцентов?
Вы можете создать функцию, которая меняет тильды, например:
Пример
И в журнале будет написано: "оооооооооооооооооооооооооооооооооооолииииииииии пололи"
Ну, чтобы использовать то, что вы привели в качестве примера, вы должны использовать:
Таким образом, вы будете обновлять значение без акцентов.