当前位置:网站首页>Servlet服务器端和客户端中文输出乱码问题
Servlet服务器端和客户端中文输出乱码问题
2022-07-04 22:44:00 【左明水】
1,浏览器的编码-点-右键-看-编码-确认是 utf-8。
2,web服务器编码 ISO-8859-1
情况一、表单
表单内容:
html
meta http-equiv=”content-type” content=”text/html;charset=utf-8”/
body
h1>我们的表单
form action=”/,,” method=”post”
用户名:input type=”text” name=”username”/
密码 :input type=”password” name=”username”
input type=”submit” value=”提交”
方式1,get提交在请求行里边。
方法1,
String s=new String(request.getParameter(“username”).getBytes(“iso-8859-1”),”utf-8”);
//明确告知以ios-859-1接收,转为utf8编码
方法2,
写工具类
1〉在src中建个工具包(com.zys.utils)
2〉包内建个类(MyTools)
3〉代码如下:
Public class MyTools{
Public static String getNewString(String str){
String newString=”“;
try{
newString=new String(str.getBytes(“ios-8859-1”),”utf-8”);
}catch(Exception e){
e.printStackTrace();
}
return newString;
}
}
4〉接收并转换
String s=request.getParameter(“username”);
//导入工具包
MyTools.getNewString(s);
方式2,post提交封装在请求体里边。
只在web服务器接收方页面中:
request.setCharacterEncoding(“UTF-8”);
说明:最好用post提交,数据量大-安全-方便。
情况二、超链接
测试连接
本质是get提交。
情况三、sendRedirect();
表单提交-方式1get-方法2中4〉接收表单提交的username并转换。
String s=request.getParameter(“username”);
//导入工具包
MyTools.getNewString(s);
//把接收到的u数据传给下一个页面。
response.sendRedirect(“/下一页面地址?uname=”+s);
//s是中文,故又用get提交中文。
//在下一页面接收uname并进行转换。
//服务器已是中文,也让客户端(浏览器)端打印出中文。
response.setContentType(“text/html;charset=utf-8”);
PrintWriter out=response.getWriter();
String s=request.getParameter(“uname”);
//服务器端打出的是中文
System.out.prinln(“uname=”+MyTools.getNewString(s));
//客户端输出中文
out.prinln(“uname=”+MyTools.getNewString(s));
情况四、IE6及以下版本,针对情况二和情况三中,中文奇数个。
方法:
情况二
String info=java.net.URLEncoder.encode(“好好学.jpg”,”utf-8”);
测试连接
情况三
response.sendRedirect(“/下一页面地址?uname=”+info);
边栏推荐
- 实战模拟│JWT 登录认证
- 【二叉树】节点与其祖先之间的最大差值
- Redis入门完整教程:Redis使用场景
- How can enterprises cross the digital divide? In cloud native 2.0
- 字体设计符号组合多功能微信小程序源码
- Redis入门完整教程:列表讲解
- [roommate learned to use Bi report data processing in the time of King glory in one game]
- A complete tutorial for getting started with redis: understanding and using APIs
- A complete tutorial for getting started with redis: hyperloglog
- Attack and defense world misc master advanced zone 001 normal_ png
猜你喜欢
JS card style countdown days
Redis入门完整教程:Bitmaps
Redis getting started complete tutorial: Geo
Advanced area a of attack and defense world misc Masters_ good_ idea
Detailed explanation of heap sort code
常用技术指标之一文读懂BOLL布林线指标
Attack and defense world misc advanced area can_ has_ stdio?
Serial port data frame
为什么信息图会帮助你的SEO
Attack and defense world misc advanced area Hong
随机推荐
攻防世界 MISC 高手进阶区 001 normal_png
Redis入门完整教程:事务与Lua
Redis: redis configuration file related configuration and redis persistence
EditPlus--用法--快捷键/配置/背景色/字体大小
LIst 相关待整理的知识点
A complete tutorial for getting started with redis: understanding and using APIs
[sword finger offer] questions 1-5
The difference between Max and greatest in SQL
Duplicate ADMAS part name
Redis入门完整教程:客户端通信协议
Principle of lazy loading of pictures
Summary of wechat applet display style knowledge points
Hit the core in the advanced area of misc in the attack and defense world
P2181 diagonal and p1030 [noip2001 popularization group] arrange in order
LabVIEW中比较两个VI
Redis入門完整教程:Pipeline
PS style JS webpage graffiti board plug-in
A complete tutorial for getting started with redis: redis shell
UML图记忆技巧
Google Earth engine (GEE) -- take modis/006/mcd19a2 as an example to batch download the daily mean, maximum, minimum, standard deviation, statistical analysis of variance and CSV download of daily AOD