格式化字符串以显示特殊字符

时间:2013-06-07 10:48:33

标签: android string

我正在通过手机向服务器发送一些消息。但是,当我发送它时,像ó,í等特殊字符没有发送好,我看到“?”而不是角色。我在这里留言:

chatmensaje=text.getText().toString();
                    chatmensaje=chatmensaje.trim();
                    vaciarChat();
                    params=new ArrayList<NameValuePair>();
                    params.clear();
                    params.add(new BasicNameValuePair("mensaje", "Personal: "+chatmensaje));
                    params.add(new BasicNameValuePair("subnotid", String.valueOf(General.subnotid)));
                    try {
                        CustomHttpClient.executeHttpPost(urlchat, params);

                            runOnUiThread(new Runnable(){
                                    public void run(){

                                if(chatmensaje != ""){
                                General.mensajes.add(chatmensaje);
                                //text.setText("");


                                mHandler.post(new Runnable() {
                                    public void run() {

                                        madapter = new MessageAdapter(
                                                getApplicationContext(), 0, General.mensajes);
                                        setListAdapter(madapter);
                                        madapter.notifyDataSetChanged();
                                    }

                                });
                                }
                                    }
                            });
                    } catch (IOException e){
                        e.printStackTrace();
                        General.chatnotsent.add(chatmensaje);
                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                        General.chatnotsent.add(chatmensaje);
                    }

                }

“text”是一个EditText。我怎样才能将String格式化为特殊字符?感谢。

2 个答案:

答案 0 :(得分:1)

- 您需要使用UrlEncodedFormEntity

<强>例如

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);

nameValuePairs.add(new BasicNameValuePair("mensaje", "Personal: "+chatmensaje));
nameValuePairs.add(new BasicNameValuePair("subnotid", General.subnotid+""));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

HttpResponse response = httpclient.execute(httppost);

答案 1 :(得分:0)

对于特殊字符,我们使用Unicode定义,用于'&amp;'例如:\ u0026如果我是对的。这是一个很好的参考页面:http://jrgraphix.net/research/unicode_blocks.php?block=0 试试这个