Вводить тильды с POST в Phpmyadmin

У меня есть приложение Android, которое реализует консультации с базой данных, обоснованной в host с phpmyadmin, и когда я пробую вводить текст, который содержит акцент или какой-то специальный символ, он это не вводит в базе данных. Столько у меня есть app как база данных с cotejamiento utf8 и utf8_general_ci. Я понимаю, что нужно вводить инструкцию в файл php, но протестировал несколько вещей и ни одна не дает результат. Взамен, если ввожу я одна слово с акцентом с консоли phpmyadmin да, которая появляется у меня в приложении.

<?php

$cod=$_REQUEST['cod'];
$tit=$_REQUEST['tit'];
$des=$_REQUEST['des'];

$cnx=new PDO("mysql:host=localhost;dbname;charset=utf8_general_ci","dbser","dbpass");

$res=$cnx->query("insert into noticias (id, titulo, descripcion) VALUES (0, '$tit', '$des')");

public class First_fragment extends Fragment {

ListView lstCursos;
String recuperado;
private ListView mylist;

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.first_tab, container, false);
    //De este modo cambiamos el tema para cada uno de los layout
    getActivity().setTheme(R.style.Barra);

    Bundle recupera = getActivity().getIntent().getExtras ();
    if (recupera != null) {
        recuperado = recupera.getString ( "cod" );
    }

    Thread tr2 = new Thread () {
        @Override
        public void run() {
            final String resultado = enviarGET ( recuperado );
            getActivity().runOnUiThread ( new Runnable () {
                @Override
                public void run() {
                    ////////////////////////////////////////
                    cargarListView ( ArregloLista ( resultado ) );
                    ////////////////////////////////////////
                    // //////////////////////////////////////
                }
            } );
        }
    };
    tr2.start ();
    return v;
}

public String enviarGET(String id){

    URL url = null;
    String linea = "";
    int respuesta = 0;
    StringBuilder resul = null;

    try {
        //url = new URL ("http://192.168.1.41/WebService/llenarnoticias.php?id="+id);
        url = new URL ("url");
        //Ahora enviamos el dato
        HttpURLConnection conection = (HttpURLConnection) url.openConnection ();
        //Guardamos la respuesta en el entero, porque sera un uno o un cero
        //Esto es lo que devuelve la BD una vez hacemos la consulta
        respuesta = conection.getResponseCode ();
        //Inicializamos resul
        resul = new StringBuilder ();

        if (respuesta == HttpURLConnection.HTTP_OK) {
            InputStream in = new BufferedInputStream(conection.getInputStream());
            BufferedReader reader = new BufferedReader (new InputStreamReader(in));

            while ((linea = reader.readLine ()) != null){
                resul.append (linea);
            }
        }
    } catch (Exception e) {}
    return resul.toString ();
}

//Metodo que permite crear un arraylista para llena el listview
public ArrayList<String> ArregloLista(String response){
    ArrayList<String> listado = new ArrayList<String> ();
    try {
        JSONArray json = new JSONArray (response);
        String texto = "";
        String texto2 = "";
        for(int i=0;i<json.length ();i++){
            texto = json.getJSONObject(i).getString("titulo");
            texto2 = json.getJSONObject(i).getString("descripcion");
            listado.add("\n" + texto + "\n\n" +texto2 + "\n");
        }
    } catch (Exception e) {}
    return listado;
}

//Aquí es donde va TODA LA CHICHA
public void cargarListView(ArrayList<String> datos){
    ArrayAdapter<String> adaptador = new ArrayAdapter<String> (getActivity(), android.R.layout.simple_list_item_1, datos);
    lstCursos = (ListView) getActivity().findViewById (R.id.listCursos);
    lstCursos.setAdapter (adaptador);
}

}

0
задан 10.01.2017, 20:44
0 ответов

Ты должен использовать функции utf8_decode ("string, который ты хочешь кодировать, чтобы вводить в bd") и utf8_encode ("string bd, который ты хочешь descodificar, чтобы использовать в java").

$tit=utf8_encode($_REQUEST['tit']);
$des=utf8_encode($_REQUEST['des']);
0
ответ дан 03.12.2019, 17:47