`
SteveLee
  • 浏览: 25270 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android客户端向服务端传汉字乱码问题

 
阅读更多

     最近在做android,遇到从android客户端向服务器端发送汉字乱码问题。采用URLConnection的GET方式,在客户端和服

 

务端都需要进行转码,而采用POST方式则不需要转码。具体方法如下:
    
    用URLConnection从android发送数据有两种方式:

     第一种方式:采用get方式传值
        (1)客户端代码:
                  URL url = new URL(mUrl);
                 URLConnection urlConnection = url.openConnection();
                 InputStream is = urlConnection.getInputStream();
                  ByteArrayBuffer baf = new ByteArrayBuffer(50);
                  int current = 0;
                  while ((current = is.read()) != -1) {
                       baf.append((byte) current);
                  }
                  requestInfo = new String(baf.toByteArray(), "UTF-8").trim();
                  is.close();
   
                 对汉字进行处理:
                     URLEncoder.encode(URLEncoder.encode(channelName, "UTF-8"), "UTF-8")

             (2)服务器端接收字段:
 
             URLDecoder.decode(URLDecoder.decode(request.getParameter("nickname"), "UTF-8"), "UTF-8")
   

      第二种方式:采用Post方式:
              客户端代码:
                 public  String sendRemoteRequest(String path,String param){
                             Log.i("lisheng", param.toString());
                             Log.i("lisheng", path);
                             String strRes="";
                              OutputStream os = null;
                             DataOutputStream dos = null;
                            InputStream is = null;
                           BufferedReader br = null;
                           try {
                                    URL url = new URL(path);
                                    URLConnection urlConn = url.openConnection();
                                    urlConn.setDoInput(true);
                                    urlConn.setDoOutput(true);
                                     os = urlConn.getOutputStream();
                                  dos = new DataOutputStream(os);
                                  dos.write(param.getBytes());
                                  dos.flush();
                                  dos.close();
                                  os.close();
                                  is = urlConn.getInputStream();
                                   br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
                                  for (String strLine = ""; (strLine = br.readLine()) != null;)
                                           strRes = (new StringBuilder(String.valueOf(strRes))).append(strLine).toString();
                                 is.close();
                                } catch (MalformedURLException e) {
                                       e.printStackTrace();
                                 } catch (UnsupportedEncodingException e) {
                                      e.printStackTrace();
                                } catch (IOException e) {
                                          e.printStackTrace();
                               }
                                    return strRes;
                              }
                   参数里直接写汉字
      
     服务器端代码:
  
  request.setCharacterEncoding("UTF-8");
  request.getParameter("nickname")
       
  即可得到参数为汉字的值,不需要转码。
          

分享到:
评论

相关推荐

    057集-Android客户端与服务端交互-服务端代码

    在本节"057集-Android客户端与服务端交互-服务端代码"的视频教程中,我们将深入探讨Android应用程序如何与服务端进行有效且安全的通信,这对于开发任何涉及网络功能的Android应用来说都是至关重要的。这个教程针对的...

    android客户端+服务端

    - Android系统提供了GCM(Google Cloud Messaging)和其后续的FCM(Firebase Cloud Messaging)服务,用于服务器向客户端发送实时消息,如消息通知或数据更新。 综上所述,"Android客户端+服务端"的架构涉及到了...

    android客户端与服务端文件上传及下载

    1. 请求API:客户端向服务端发送一个GET请求,获取待下载文件的URL或直接触发文件流的下载。 2. 文件保存:使用`DownloadManager`(系统级服务)或自定义下载管理类来下载文件。`DownloadManager`可以自动处理暂停...

    android蓝牙通信(分为客户端,服务端)

    本示例将详细讲解如何在Android上构建一个蓝牙通信系统,包括客户端和服务端的实现。 首先,理解蓝牙通信的基本概念是必要的。蓝牙是一种短距离无线通信技术,允许电子设备之间交换数据或建立连接,例如手机、电脑...

    android webservice 客户端、服务端实例

    本实例将深入探讨如何构建一个Android Web Service客户端和服务端,并提供可直接运行的代码示例。以下是对这两个重要组件的详细说明。 **一、Android Web Service客户端** 在Android客户端,通常使用HTTP库来调用...

    QQ客户端和服务端下载

    QQ客户端和服务端下载QQ客户端和服务端下载QQ客户端和服务端下载QQ客户端和服务端下载QQ客户端和服务端下载QQ客户端和服务端下载QQ客户端和服务端下载QQ客户端和服务端下载QQ客户端和服务端下载QQ客户端和服务端下载...

    android客户端与服务端交互简单登录实现

    在Android应用开发中,客户端与服务端的交互是不可或缺的一部分,尤其在实现用户登录功能时。本示例探讨的是如何在Android客户端与Eclipse服务端之间实现一个简单的登录功能。以下将详细介绍这个过程中的关键知识点...

    Android客户端和服务端通过Socket收发文字和图片

    在Android应用开发中,通信是不可或缺的一部分,尤其是在客户端与服务端之间进行实时数据交互时。本文将深入探讨如何使用Socket实现Android客户端与服务端之间的文字和图片收发功能。 首先,我们来理解Socket的基本...

    android客户端+服务端菜谱精灵

    《Android客户端+服务端菜谱精灵开发详解》 在当今移动互联网时代,应用程序已经成为人们日常生活中不可或缺的一部分。本文将深入探讨一个以“菜谱精灵”为主题的Android应用开发案例,涉及客户端和服务端的协同...

    客户端与服务端的交互实现(AndroidStudio+JavaEE开发)

    在本文中,我们将深入探讨如何实现客户端与服务端的交互,特别是在Android Studio中构建客户端应用,结合Java EE技术搭建服务端。这个项目涵盖了用户登录、注册功能,以及数据的增删改查操作,通过MySQL数据库进行...

    蓝牙客户端和服务端

    在本文中,我们将深入探讨蓝牙客户端和服务端的实现,这对于理解蓝牙通信机制至关重要。 首先,我们来了解一下蓝牙的基础知识。蓝牙技术最初由电信巨头爱立信在1994年提出,旨在简化设备间的通信,尤其是移动设备。...

    android客户端和服务端的连接

    在Android应用开发中,客户端和服务端的连接是实现数据交互的关键环节。这个小型的网络服务器与安卓客户端的连接示例可能涵盖了HTTP、HTTPS协议、WebSocket、Socket编程等基础概念。以下将详细介绍这些知识点: 1. ...

    Android购物商城App+客户端+服务端+数据库

    《构建完整的Android购物商城系统:从客户端到服务端详解》 在移动互联网时代,购物商城App已经成为电商领域不可或缺的一部分。Android平台上的购物商城App更是占据了重要地位,它们为用户提供便捷的商品浏览、购买...

    基于C++&Qt实现的在线点餐系统(客户端+服务端).zip

    基于C++&Qt实现的在线点餐系统(客户端+服务端——.zip 基于C++&Qt实现的在线点餐系统(客户端+服务端——.zip 基于C++&Qt实现的在线点餐系统(客户端+服务端——.zip 基于C++&Qt实现的在线点餐系统(客户端+服务端...

    Android使用Netty网络框架实践(客户端、服务端)

    本实践将详细介绍如何在Android环境中使用Netty进行客户端和服务端的通信。 首先,我们需要理解Netty的基本概念。Netty的核心是其EventLoopGroup(事件循环组),它负责处理I/O事件,并将它们分发到相应的...

    android aidl客户端和服务端

    本篇文章将深入探讨AIDL在Android客户端和服务端中的应用。 一、AIDL基础 1. AIDL语法:AIDL类似于Java接口,定义了一组方法,这些方法可以在客户端和服务端之间进行调用。每个AIDL文件包含一个接口声明,接口中...

    Android若水新闻客户端中服务端源码

    【Android若水新闻客户端中服务端源码】的解析与详解 这个项目是为Android若水新闻客户端提供服务端支持的源代码,旨在帮助开发者学习如何构建一个新闻客户端的后台系统。服务端通常负责处理客户端的请求,如数据的...

    AIDL实现客户端和服务端的双向通信

    当编译项目时,Android编译系统会自动生成对应的Java接口和Binder类,使得服务端和客户端可以使用这些接口进行交互。在服务端,我们需要实现这个接口,并在Service中注册它: ```java public class ...

    android客户端加服务端的socket长连接

    这些服务在客户端注册设备令牌,服务器端通过令牌向客户端发送消息,避免了客户端长时间保持Socket连接带来的资源消耗。 综上所述,Android客户端与服务端的Socket长连接涉及到网络编程基础、多线程、数据编码解码...

    Android客户端与服务端的JSON交互数据的实现

    在Android应用开发中,客户端和服务端之间的数据交互是不可或缺的一部分,JSON作为一种轻量级的数据交换格式,被广泛用于Android和服务器之间的通信。本教程将详细阐述如何在Android客户端与服务端实现JSON数据的...

Global site tag (gtag.js) - Google Analytics