当前位置:网站首页>The Chinese output of servlet server and client is garbled
The Chinese output of servlet server and client is garbled
2022-07-04 23:14:00 【Zuo Mingshui】
1, Browser code - spot - Right click - see - code - Confirmation is utf-8.
2,web Server code ISO-8859-1
Situation 1 、 Forms
Form content :
html
meta http-equiv=”content-type” content=”text/html;charset=utf-8”/
body
h1> Our form
form action=”/,,” method=”post”
user name :input type=”text” name=”username”/
password  :input type=”password” name=”username”
input type=”submit” value=” Submit ”
The way 1,get Submit in the request line .
Method 1,
String s=new String(request.getParameter(“username”).getBytes(“iso-8859-1”),”utf-8”);
// Clearly inform with ios-859-1 receive , To utf8 code
Method 2,
Write tool class
1〉 stay src Zhongjian has a toolkit (com.zys.utils)
2〉 Build a class in the package (MyTools)
3〉 The code is as follows :
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〉 Receive and convert
String s=request.getParameter(“username”);
// Import toolkit
MyTools.getNewString(s);
The way 2,post The submission is encapsulated in the request body .
Only in web Server receiver page :
request.setCharacterEncoding(“UTF-8”);
explain : It is best to post Submit , Large amount of data - Security - convenient .
Situation two 、 Hyperlinks
Test connection
The essence is get Submit .
Situation three 、sendRedirect();
Form submission - The way 1get- Method 2 in 4〉 Receive form submissions username And convert .
String s=request.getParameter(“username”);
// Import toolkit
MyTools.getNewString(s);
// Put the received u Data is transferred to the next page .
response.sendRedirect(“/ Next page address ?uname=”+s);
//s It's Chinese , Therefore, it is also used get Submit Chinese .
// Receive on the next page uname And switch .
// The server is already in Chinese , Also let the client ( browser ) Print out Chinese .
response.setContentType(“text/html;charset=utf-8”);
PrintWriter out=response.getWriter();
String s=request.getParameter(“uname”);
// The server type is Chinese
System.out.prinln(“uname=”+MyTools.getNewString(s));
// The client outputs Chinese
out.prinln(“uname=”+MyTools.getNewString(s));
Situation four 、IE6 Up to , For case 2 and case 3 , There are odd numbers in Chinese .
Method :
Situation two
String info=java.net.URLEncoder.encode(“ Study hard .jpg”,”utf-8”);
Test connection
Situation three
response.sendRedirect(“/ Next page address ?uname=”+info);
边栏推荐
- Redis:Redis消息的发布与订阅(了解)
- MP进阶操作: 时间操作, sql,querywapper,lambdaQueryWapper(条件构造器)快速筛选 枚举类
- ECS settings SSH key login
- [Taichi] change pbf2d (position based fluid simulation) of Taiji to pbf3d with minimal modification
- heatmap. JS picture hotspot heat map plug-in
- Redis入门完整教程:有序集合详解
- Redis入门完整教程:事务与Lua
- debug和release的区别
- C语言快速解决反转链表
- CTF competition problem solution STM32 reverse introduction
猜你喜欢
随机推荐
该如何去选择证券公司,手机上开户安不安全
Redis入门完整教程:Redis Shell
[machine learning] handwritten digit recognition
MariaDB的Galera集群应用场景--数据库多主多活
Advantages of Alibaba cloud international CDN
HMS core unified scanning service
Redis入门完整教程:发布订阅
ScriptableObject
[sword finger offer] questions 1-5
Redis: redis transactions
Object detection based on OpenCV haarcascades
Redis入门完整教程:列表讲解
[OpenGL] note 29 anti aliasing (MSAA)
Redis: redis configuration file related configuration and redis persistence
qt绘制网络拓补图(连接数据库,递归函数,无限绘制,可拖动节点)
String类中的常用方法
[crawler] jsonpath for data extraction
The solution to the lack of pcntl extension under MAMP, fatal error: call to undefined function pcntl_ signal()
Google Earth engine (GEE) - tasks upgrade enables run all to download all images in task types with one click
A complete tutorial for getting started with redis: redis usage scenarios