JAVA: android 和 j2ee服务器乱码问题总结。

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的体育赛事目标检测系统(Python+PySide6界面+训练代码) 本文详细介绍了一个基于YOLOv5/v6/v7/v8的体育赛事目标检测系统的设计与实现。系统采用先进的深度学习算法,结合PySide6图形界面,实现了对体育赛事中运动员、球类、裁判等多种目标的实时检测与跟踪。本文将全面阐述系统的架构设计、算法原理、训练流程、界面实现以及实际应用效果,并提供完整的代码实现。 阅读详情

下面是三种方式读取输入流:

 

1、按字符读取输入流,这种方式是把流读到字符数组中

注:8位(bit)==1个字节(Byte),  1个字符(char)==16位(bit)== 2字节(Byte), 一个汉字占2字节,也就是占1字符,所以用char数组装汉字时不会把汉字分成两半,而用byte数组装汉字时候,很可能第一次读取汉字的前一半,第二次读取汉字的后一半,固出现乱码。

char buf[] = new char[20];
int len = bufferedReader.read(buf);  
while(len!=-1){
	sb.append(new String(buf, 0, len));      
	len = bufferedReader.read(buf);
}


 

2、按行读取,不会出乱码,效率没测试,他们说还行

String line="";
while((line=br.readLine())!=null){
	System.out.println("==========="+line);
	return line;
}
br.close();


3、按字节数组读取

 

byte[] bytes = new byte[4096];
	int i = 0;
	while ((i = inputStream.read(bytes)) != -1) {
	sb.append(new String(bytes,"GBK"));
bytes = new byte[4096];


 

android端和j2ee端交互时,设置编码格式:

httpURLConnection.setRequestProperty("Content-type", "text/html");  
httpURLConnection.setRequestProperty("Accept-Charset", "GBK");  
httpURLConnection.setRequestProperty("contentType", "GBK");  


服务器端在action中设置编码要一致:

HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("GBK");
OutputStream out = response.getOutputStream();


在struts.xml中设置:

<constant name="struts.i18n.encoding" value="gbk"></constant>

 

如果不行,再配置过滤器(适用struts2.2):


 

<filter>
          <filter-name>struts2</filter-name>
          <filter-class>
              org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
          </filter-class>
	</filter>
	
	<filter>
          <filter-name>struts2</filter-name>
          <filter-class>com.bohe.web.EncodeFilter</filter-class>
          <init-param>
              <param-name>encoding</param-name>
              <param-value>GBK</param-value>
          </init-param>
</filter>


加入自己的字符过滤器:

public class EncodeFilter extends StrutsPrepareAndExecuteFilter implements
		Filter {
	private FilterConfig config = null;
	private String encoding = null;
	

	@Override
	public void init(FilterConfig config) throws ServletException {
		//System.out.println("init................");
		this.config = config;
	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		System.out.println("dofilter.......");
		if (encoding == null) {
			encoding = config.getInitParameter("encoding");
			System.out.println(encoding);
		}
		request.setCharacterEncoding(encoding);
		response.setCharacterEncoding(encoding);
		chain.doFilter(request, response);
	}

	@Override
	public void destroy() {
		config = null;
		encoding = null;
	}
}


最后,如果还不行,只能修改tomcat的server.xml配置文件了:加入URIEncoding="GBK"

<Connector port="8888" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"
	      URIEncoding="GBK"/>


 ps:http方式访问带中文参数的都要urlencode一下,服务器会自动decode

最后发现个重复编码的问题:如果服务器端已经设置了GBK编码(response.setCharacterEncoding("GBK");),android端就不要再转GBK否则重复编码会乱码。

 

//BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream,"GBK"));

【数据集】全球大气空气柱平均甲烷(XCH₄)和一氧化碳(XCO)浓度数据集 TROPOMI/WFMD 全球大气空气柱平均甲烷(XCH₄)和一氧化碳(XCO)浓度数据集 TROPOMI/WFMD 阅读详情

相关推荐

我用 AI Agent 全自动跑 COMSOL 仿真:从建模到后处理,踩了 10+ 个深坑

本文探讨了利用AI通过COMSOL Java API实现AI芯片液冷冷板全流程自动化仿真的实践。针对700W高功耗AI芯片的散热需求,构建了包含4颗Chiplet和微通道冷板的三维液冷模型。通过严格设计的Prompt工程,AI Agent成功完成了从几何建模到结果验证的全过程,最终实现了芯片最高温度54°C的良好散热效果。文章重点分享了10个关键问题的解决经验,包括流体连通性验证、网格顺序控制、离散阶数选择、收敛判据优化等,并建立了包含流场/热场/网格独立性的三重验证体系。实践表明,AI可高效处理重复性工作

sjjsjjsjjsjjsjj的博客 980

android客户端通过Get方式提交参数给服务器,使用URL和HttpURLConnection实现,以及乱码问题解决

服务器端的设置服务器端采用Struts2来接收android端的请求,android版本为2.2.3配置如下:1:web.xml的配置为 Struts Blank struts2 org.apache.stru

张波的技术积累 2万+

【汇编】TSR内存驻留程序实现与删除及热键设置——以实现时钟为例

【汇编】TSR内存驻留程序实现与删除及热键设置——以实现时钟为例 最近完成了一个关于时钟中断驻留的汇编大作业,对于TSR很是感兴趣,查阅了不少资料,发现现在很少相关的内容资料。尤其是TSR删除这一块几乎找不到在低的水平完全正确的做法,下面我对于TSR的删除我会介绍一种几乎小程序可以完成的方法。当然,标题中的TSR实现,热键设置我也会一一介绍。

cly116的博客 3971

android和java ee_android与javaee通信:登录界面超级简化版

今天完成了利用android和tomcat服务器完成了简单界面的通信。主要就是用户输入id和密码,界面显示登录成功还是失败。昨天完成代码后,尚未来得及调试,今天通过调试,发现了以下几点错误:1.测试的时候忘了启动tomcat服务器(好吧这是一个很蠢的错误。。)2.客户端设置的编码格式中的"UTF-8"写成了"UTF_8"(好吧我知道这也很蠢。。。)3.传送数据的时候服务端返回的数据和客户端接收数据...

weixin_36280540的博客 312

HTML5期末大作业:关于家乡介绍的HTML网页设计——郑州美景HTML+CSS(5页) 学生DW家乡介绍网页设计作业成品 web课程设计网页规划与设计

HTML5期末大作业:我的家乡——郑州美景HTML+CSS(5页) 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计题目, A+水平作业, 可满足大学生网页大作业网页设计需求, 喜

qq_365392777 1万+

别再用图片水印了!5种你可能不知道的文本隐写术实战

本文介绍了5种高效的文本隐写术,帮助创作者在不影响内容可读性的情况下嵌入版权信息。从零宽度字符到同形字替换,再到标点符号变形和行尾空格编码,这些技术为数字内容提供了轻量级版权保护方案,特别适用于社交媒体和电子合同等场景。

k8l9m0n的博客 225

Android 向J2ee提交请求出现乱码问题

1. 在Android提交参数给Server端时,没有对中文参数进行URL编码。 2. Tomcat服务器默认采用的是ISO8859-1编码得到参数值 解决方法: 第一步:在Android端: URLEncoder.encoder("xxxx", "UTF-8"); 这个方法最好可以把UTF-8指定为可变参数传入方法中,这样可以有多种编码选择。 第二步:在WEB端 使

shuangyvshenshi的专栏 646

基于UCD3138的数字控制硬开关全桥DC-DC电源设计实战解析

在开关电源设计中,数字控制技术正逐步取代传统模拟方案,以其卓越的灵活性、可编程性和强大的数据处理能力,成为应对复杂动态响应与智能化需求的关键。其核心原理在于通过高精度模数转换器(ADC)实时采样电压、电流信号,经由数字信号处理器(如ARM内核)运行PID等控制算法,动态调整数字脉宽调制(DPWM)输出,从而实现对功率级的精确控制。这种技术价值体现在能够轻松实现高级算法(如输入电压前馈、非线性补偿)、灵活配置保护参数,并通过PMBus等接口实现智能化监控与管理。其典型应用场景包括通信基站、服务器电源以及工业设

1313

我下载的2012年JavaEE+Android培训视频教程

我下载的2012年JavaEE+Android培训视频教程 我的免费得到的光盘内容 : 最新一期的.Net黑马全套视频(含源码)http://url.cn/4sdmMT 1.视频是主要是讲什么的?什么时候的视频? 答:视频培训内容主要是javaEE和Android,课程先是讲javaEE基础,数据库(mysql,Oracle)然后是流行框架,然后是javaE...

yangguohexiaolongnv的专栏 248

YOLO26 FP16/INT8混合量化实战:精度无损+速度拉满,边缘设备部署最优解

这是混合量化的灵魂,告诉量化器:哪些层不准动,保留FP16。"""判断是否为量化敏感层 → 是则豁免为FP16返回 True=敏感层(FP16),False=可量化(INT8)"""# 1. 检测头回归分支# 2. 小通道1×1卷积# 3. SiLU 激活# 4. 残差ShortcutYOLO26想要在Jetson、RK3588、昇腾、嵌入式NPU上真正落地,FP16/INT8混合量化是唯一最优解。它的核心逻辑不是玄学,而是工程上的精准取舍能量化的层,全部INT8榨性能;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 747

18、动态系统响应分析

本文系统地介绍了动态系统响应的分析方法,涵盖传递函数建模、特殊输入下的响应特性(如脉冲和阶跃响应)、终值与初值定理的应用、系统直流增益的计算,并深入探讨了一阶和二阶系统的时域特性。通过实例分析与MATLAB仿真,展示了不同参数对系统行为的影响。文章还总结了系统响应在控制设计与故障诊断中的实际应用,并展望了多变量、非线性及实时响应分析的未来研究方向。配合流程图,提供了清晰的系统分析与设计路径。

kite3的博客 141

【JavaEE】Tomcat-Servelet第一个helloworld程序

本文章讲解了Tomcat的下载与使用,并且编写了第一个Servlet程序,分为了七个步骤,结合图片进行讲解!

Carefree_State的博客 2239

k8s上分离集群seatunnel部署(生产推荐)

k8s上分离集群seatunnel部署(生产推荐)

寂夜了无痕的博客 888

Android网络编程get方式传递数据给服务器

Get方式向服务器发送数据主要用于数据量小于2kb,并且安全性要求不是很高的情况。 在完成一个向服务器发送数据的业务需要如下流程: web服务器端 创建一个动态web 工程,并在web.xml 中配置Sverlet。  创建一个Servlet类并重写其doGet()方法代码如下: public class ServerlateGetMethod extends HttpServlet {

WannerWang的博客 1227

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

android学习笔记----记录get、post方式提交以及抓包和乱码问题

目录 MyEclipse中的代码: post方式和get方式提交区别: 将服务器的返回数据展示到Toast上: Android Studio中的代码: 关于中文乱码问题: 用tomcat服务器: MyEclipse中的代码: LoginServlet.java import java.io.IOExcepti...

aodubi0638的博客 162

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Android的通信机制与网络(一)

在J2EE体系中,服务器发送消息到jsp、Servlet、http等页面通常采用两种传输方式:get和post。此次主要以Servlet为列子,介绍Android与Servlet的通信,知道了这种传输机制,其他两种都是大同小异的。         前提:创建两个工程,一个是we

3364

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

一个能作为安卓上传文件目的地的使用servlet的Tomcat服务器

想实现一个服务器端,能够接受安卓端上传的文字和图片数据,并保存。 实现方法是J2EE+servlet+Tomcat。 配置环境 参考:http://www.runoob.com/jsp/eclipse-jsp.html 代码 uploadFile.jsp &amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot; ...

狗嗨的博客 277

分享一个Java和Android学习视频

和许多网友交流,大家都在感慨学了很多时间的java,但是总感觉java是如此的神秘,能够感觉到他的存在,但却不能体会到他的真正要意,能够看明白代码,却不能写出自己的代码!!!其实说白了,大家都还木有入门,一旦入门了,这些问题都不是问题,学习java有些东西是必须掌握的,有些东西是知道他存在即可的,有些东西是过一遍就可以的,有些东西是完全没有必要去看的,碰到了百度就可以.java不难学,有些东西一定

sjh752422969的专栏 802

邮件出现乱码

还在用过时的浏览器?你Out啦,请立即更换Chrome浏览器。X 欢迎hahajingshiwo我的:资源博客空间简历设置|帮助|退出 优快云首页资讯论坛博客下载搜索 更多 CTO俱乐部学生大本营培训充电移动开发软件研发云计算程序员TUP 世事如棋,乾坤莫测,笑尽英雄 有问题欢迎进群交流:173711587 <

hahajingshiwo的专栏 5487

android与javaee通信:登录界面超级简化版

今天完成了利用android和tomcat服务器完成了简单界面的通信。 主要就是用户输入id和密码,界面显示登录成功还是失败。 昨天完成代码后,尚未来得及调试,今天通过调试,发现了以下几点错误: 1.测试的时候忘了启动tomcat服务器(好吧这是一个很蠢的错误。。) 2.客户端设置的编码格式中的"UTF-8"写成了"UTF_8"(好吧我知道这也很蠢。。。) 3.传送数据的时候服务端返回的...

weixin_30644369的博客 152

(转载)Android的通信机制与网络(…

在J2EE体系中,服务器发送消息到jsp、Servlet、http等页面通常采用两种传输方式:get和post。此次主要以Servlet为列子,介绍Android与Servlet的通信,知道了这种传输机制,其他两种都是大同小异的。         前提:创建两个工程,一个是web project(上),一个是android project(下),如下图:         get方式:

qq524449576的专栏 583

Java学习第一天

Java初学习

LlewynDav的博客 405

Android studio 032 java Tomcat Servlet 搭建服务器

第一步新建D web project 第二步新建servlet import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.serv

weixin_33595571的博客 737

【Java基础知识笔记1】

Java基础知识笔记1

weixin_51246903的博客 317
上一篇: Android: ListView数据的分批加载 以及 Handle 总结。
下一篇: Android:下载管理器(DownloadManager),实现程序更新!
234364575675
博客等级 码龄16年 34粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值