导航:首页 > 操作系统 > android网络中文乱码

android网络中文乱码

发布时间:2023-01-27 18:05:41

⑴ 求助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")

即可得到参数为汉字的值,不需要转码。

⑵ 如何解决Android WebView出现的乱码问题

使用webView载入网页,主要有三种方法:
1、webView.loadUrl();
直接显示网页内容(单独显示网络图片),一般不会出现乱码。
2、webView.loadData(data, "text/html", "UTF-8");
loadData主要被设计用来装载URI格式的数据,它不能通过网络来加载内容。网上流传的webview加载中文出现乱码,多数是使用此方法。使用过程中主要有两个问题:
(1)loadData不能加载图片内容,如果想加载图片内容或者获得更强大的Web支持建议使用更强大的loadDataWithBaseURL.
(2) 许多实用loadData方法的朋友都遇到显示乱码的问题,那是因为编码器设置错误导致的。我们知道String类型的数据主要是unicode编码,而WebView一般为了节省资源使用的是UTF-8编码,所以我们在loadData的时候要告诉方法怎样转码。即要告诉它要将unicode编码的内容转成UTF-8编码的内容。有些朋友虽然在loadData的时候设置了编码方式,但是还是显示乱码,这是因为还需要为WebView的text编码指定编码方式。举例如下:
WebView wv = (WebView)findViewById(R.id.webview) ;
wv.getSettings().setDefaultTextEncodingName(“UTF -8”) ;
wv.loadData(content, “text/html”, “UTF-8”) ;
注意为gb2312或gbk
(3).网页说明编码格式
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
以上两种方法是网上给的比较好的方法,但是我都试了下都没有解决我的乱码问题。
原来我是用LoadData方法来解析html的,但是据说这是官方的一个BUG,不能用来解析中文。所以绕其道而行之,采用loadDataWithBaseURL的方法,其中codeingType设置为utf-8就OK了。
3、loadDataWithBaseURL
如果单纯显示文字的话可以写webView.loadDataWithBaseURL(null, string, "text/html", "utf-8", null);
如果要显示图片可以写webView.loadDataWithBaseURL(baseUrl, string, "text/html", "utf-8", null);
其中baseUrl为你存储照片的路径,比如:
String baseUrl="file:///sdcard/images/photo/";
这个方法却能很好解决乱码问题,遇到这个问题的朋友不妨一时。

⑶ 如何解决android studio 运行时中文乱码的问题

Android
Studio中的乱码分好几种,一是IDE的不同窗口里显示乱码,如:logcat筛选框,SVN提交的注释框。二是代码里设置中文,到了真机UI上就显示的乱码,如:xxx.setText("中文")。
一、IDE乱码
Log
Level
右边的过滤框明明输入的是中文,结果显示是乱码。
File
>
Settings
>
Appearance
&
Behavior
>Appearance,将default
fonts改为Microsoft
YaHei(改成其它SimHei,SimSun也行,但个人觉得雅黑好看些)。
设置好了之后,立即就能看到筛选框里的中文字符了。
二、代码里中文
代码里设置中文,到了真机上TextView之类的控件上就显示为乱码,如:xxx.setText("中文")。
现在加入的这个项目是由原来Eclipse创建的,一旦有乱码问题,同事就说把Properties里的编码改成GBK就可以了。

⑷ 如何解决android studio 运行时中文乱码的问题

解决android studio 运行时中文乱码问题的方法如下:
1. 最简单的可以重启手机就可以了,由于重启手机系统进程又会重新运行的了。
2. 重启手机还是不行的话可以恢复出厂设置,打开手机设置,选择重置打开,选择恢复出厂设置,手机重启后就可以了。

⑸ 求助Android HTTP协议GET方法发送中文乱码问题

服务器用的是utf-8处理的吧,如果是,客户端使用mDetailText.getText().toString() .getBytes("UTF-8")获得字节数组,然后用stream发送。android的乱码和PC机上的乱码的原因是相同的。可采用同样的解决方案。

阅读全文

与android网络中文乱码相关的资料

热点内容
浪潮服务器如何调整凭证的尺寸 浏览:907
监控源码怎么打开 浏览:596
88影视打不开了 浏览:515
青岛办离婚用什么app 浏览:738
查询坐标命令 浏览:991
教孩子学编程ppt 浏览:813
77服务器怎么找 浏览:991
国外免费电影网站 浏览:914
java负数二进制 浏览:670
单片机多字节加减程序 浏览:151
手机网店用什么APP好 浏览:926
周星驰粤语资源 浏览:520
莱美健身教练app叫什么 浏览:887
有道词典forlinux 浏览:203
汇开优店的代理app叫什么 浏览:141
如何体验原生态的安卓 浏览:847
精致lee滤波源码 浏览:851
美颜都用什么app 浏览:139
单片机内存 浏览:554
mci命令 浏览:651