Android中HTTP请求中文乱码解决办法
Android中HTTP请求中文乱码解决办法
编码参数
List<NameValuePair> formparams = new ArrayList<NameValuePair>(); // 请求参数 for (NameValuePair p : params) { formparams.add(p); } UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams,HTTP.UTF_8); // 创建POST请求 HttpPost httppost = new HttpPost(url); httppost.setEntity(entity);
Android发送HTTP请求,android默认编码已是utf-8。
问题描述:
如上代码中已经设置了请求为UTF-8,服务器中编码也是全部UTF-8,可是服务器获取中文还是出现乱码。
由于服务器端并非自己开发,无法看到服务器是如何运行的,只知道编码是UTF-8。
同样的服务器,IPHONE客户端发送中文无乱码。
问题解决:
尝试打印Andorid,IPHONE的HTTP头。
发现其中的content-type 不一样。
Andorid :content-type:application/x-www-form-urlencoded; IPHONE:content-type:application/x-www-form-urlencoded; charset=utf-8
于是尝试在请求的时候加个头
httppost.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
然后问题解决。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Android中实现OkHttp上传文件到服务器并带进度
在上一讲中 OkHttp下载文件并带进度条 中,我们知道怎样去下载文件了.那上传文件呢 一.编写服务器端 在上一讲服务器下新建UploadFileServlet,代码如下:然后重启服务器! @WebServlet("/UploadFileServlet") @MultipartConfig public class UploadFileServlet extends HttpServlet { private static final long serialVersionUID = 1
-
在Android上实现HttpServer的示例代码
在最近的项目中因为要用Android作为一个服务器去做一个实时接收数据的功能,所以这个时候就要去做一个Android本地的微型服务器. 那么此时我首先想到了spring boot,因为他是一个服务器的框架.但是实际上我们根本用不到这么大型的服务器框架,配置这些都太麻烦.所以,我又找到了Ijetty.NanoHttpd和AndroidAsync这三个框架,都是比较微型的,适用于Android的. 经过对比,Ijetty使用起来过于复杂,而且会莫名其妙的报一些不太容易解决的问题,所以,舍弃掉了. 因
-
Android OkHttp 结合php 多图片上传实例
今天写项目的时候需要多图片上传,就用okhttp简单写一个例子. public class MainActivity extends AppCompatActivity { private OkHttpClient client; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ma
-
详解Android Webview加载网页时发送HTTP头信息
详解Android Webview加载网页时发送HTTP头信息 当你点击一个超链接进行跳转时,WebView会自动将当前地址作为Referer(引荐)发给服务器,因此很多服务器端程序通过是否包含referer来控制盗链,所以有些时候,直接输入一个网络地址,可能有问题,那么怎么解决盗链控制问题呢,其实在webview加载时加入一个referer就可以了,如何添加呢? 从Android 2.2 (也就是API 8)开始,WebView新增加了一个接口方法,就是为了便于我们加载网页时又想发送其他的HT
-
Android开发之OkHttpUtils的具体使用方法
一.概述 之前写了篇Android OkHttp完全解析 是时候来了解OkHttp了,其实主要是作为okhttp的普及文章,当然里面也简单封装了工具类,没想到关注和使用的人还挺多的,由于这股热情,该工具类中的方法也是剧增,各种重载方法,以致于使用起来极不方便,实在惭愧. 于是,在这个周末,抽点时间对该工具类,进行了重新的拆解与编写,顺便完善下功能,尽可能的提升其使用起来的方便性和易扩展性. ok,那么目前,该封装库志支持: 一般的get请求 一般的post请求 基于Http的文件上传 文件下载
-
Android网络技术HttpURLConnection详解
介绍 早些时候,Android 上发送 HTTP 请求一般有 2 种方式:HttpURLConnection 和 HttpClient.不过由于 HttpClient 存在 API 数量过多.扩展困难等缺点,Android 团队越来越不建议我们使用这种方式.在 Android 6.0 系统中,HttpClient 的功能被完全移除了.因此,在这里我们只简单介绍HttpURLConnection 的使用. 代码 (核心部分,目前只演示 GET 请求): 1. Manifest.xml 中添加网络权
-
Android基于HttpUrlConnection类的文件下载实例代码
废话不多说了,直接给大家贴代码了,具体代码如所示: /** * get方法的文件下载 * <p> * 特别说明 android中的progressBar是google唯一的做了处理的可以在子线程中更新UI的控件 * * @param path */ private void httpDown(final String path) { new Thread() { @Override public void run() { URL url; HttpURLConnection connectio
-
Android中HTTP请求中文乱码解决办法
Android中HTTP请求中文乱码解决办法 编码参数 List<NameValuePair> formparams = new ArrayList<NameValuePair>(); // 请求参数 for (NameValuePair p : params) { formparams.add(p); } UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams,HTTP.UTF_8); // 创建POST
-
数据库 MySQL中文乱码解决办法总结
MySQL中文乱码解决办法 前言: MySQL是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1.1.中文乱码 create table user(name varchar(11)); # 创建user表 insert into table user("carl"); # 添加数据 select * from user; insert into user value(&
-
JSP struts2 url传参中文乱码解决办法
JSP struts2 url传参中文乱码解决办法 1.设置struts.xml <constant name="struts.i18n.encoding" value="UTF-8" /> 或是设置struts.properties(我自己没试过) struts.i18n.encoding=UTF-8 2.在web.xml添加编码过滤器 <filter> <filter-name>characterEncodingFilter&
-
Android中ScrollView嵌套GridView的解决办法
前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全. 找到大家的通用解决办法.记录一下. 解决办法,自定义一个GridView控件 public class MyGridView extends GridView { public MyGridView(Context context, AttributeSet attrs) { super(context, attrs); } pub
-
Python中matplotlib中文乱码解决办法
Matplotlib是Python的一个很好的绘图包,但是其本身并不支持中文(貌似其默认配置中没有中文字体),所以如果绘图中出现了中文,就会出现乱码. matplotlib绘制图像有中文标注时会有乱码问题. 实例代码: import matplotlib import matplotlib.pyplot as plt #定义文本框和箭头格式 decisionNode =dict(boxstyle="sawtooth",fc="0.8") leafNode=dict(
-
PHP 中文乱码解决办法总结分析
一.首先是PHP网页的编码 1. php文件本身的编码与网页的编码应匹配 a. 如果欲使用gb2312编码,那么php要输出头:header("Content-Type: text/html; charset=gb2312″),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312″>,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文
-
Android中getActivity()为null的解决办法
前言 在日常开发中的时候,我们经常会使用ViewPager+Fragment进行视图滑动,在某些部分逻辑也许我们需要利用上下文Context(例如基本的Toast),但是由于Fragment只是依附在Activity容器的一个试图,如果需要拿到当前的Activity的上下文Context就必须通过getActivity()获取. 然而,不知道各位程序猿有没有遇过出现getActivity()出现null的时候导致程序报出空指针异常. 其实原因可以归结于因为我们在: (一)切换fragment的时
-
ajax+php中文乱码解决办法
AJAX的乱码的出现在的原因 由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码.而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码. 解决方法之一就是在PHP文件中显示声明为GB2312 header("Content-Type:text/html;charset=GB2312"); 而对于发送到服务器的中文进行转码. 如下 $_POST["content"]=iconv(&
-
Android中EditText实现不可编辑解决办法
android:editable is deprecated: Use an <EditText> to make it editable android:editable is deprecated: Use inputType instead 分析:关于EditText控件的read-only问题,即: 无法通过UI更改其中的内容, 但可以选定部分内容, 进行复制.在早期的sdk, EditText有Editable属性, 现在这个属性已经deprecated了. 解决方法: 其实只需
-
php PDO中文乱码解决办法
// 方法一: PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';")); // 方法二: PDO::__construct($dsn, $user, $pass); PDO::exec("SET NAMES 'utf8';"); 两种方法都能解决问题, 原理一样的, 使用哪中看自己喜欢了
随机推荐
- 在 docker 之间导出导入镜像的方法
- jquery自适应布局的简单实例
- Flex 读取xml文件的方法
- 彻底防止木马最有效果的办法 (完整篇)
- 利用vbscript脚本修改文件内容,此适用于自动化的操作中
- java编程下字符串的16位,32位md5加密实现方法
- JavaScript中的工厂函数(推荐)
- JS模仿编辑器实时改变文本框宽度和高度大小的方法
- vs.net控件updatePanel实现无刷新的方法
- 浅谈Android Content Provider的使用
- Shell脚本中判断输入参数个数的方法
- Android仿微信底部实现Tab选项卡切换效果
- vue.js绑定class和style样式(6)
- 被遗忘的javascript的slice() 方法
- linux轻量级 Web 服务器第1/2页
- 必须会的SQL语句(二) 创建表、修改表结构、删除表
- js不能跳转到上一页面的问题解决方法
- 邮箱下拉自动填充选择示例代码附图
- C#实现的文件压缩和解压缩类
- 不用GD库生成当前时间的PNG格式图象的程序