当前位置:网站首页>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);
边栏推荐
- Principle of lazy loading of pictures
- 云服务器设置ssh密钥登录
- The small program vant tab component solves the problem of too much text and incomplete display
- vim编辑器知识总结
- JS 3D explosive fragment image switching JS special effect
- 时间 (计算)总工具类 例子: 今年开始时间和今年结束时间等
- A complete tutorial for getting started with redis: understanding and using APIs
- 【剑指Offer】6-10题
- colResizable. JS auto adjust table width plug-in
- Qt个人学习总结
猜你喜欢
随机推荐
How can enterprises cross the digital divide? In cloud native 2.0
HMS core unified scanning service
PICT 生成正交测试用例教程
位运算符讲解
colResizable. JS auto adjust table width plug-in
Async await used in map
[OpenGL] note 29 anti aliasing (MSAA)
A complete tutorial for getting started with redis: transactions and Lua
ETCD数据库源码分析——处理Entry记录简要流程
CTF competition problem solution STM32 reverse introduction
Servlet服务器端和客户端中文输出乱码问题
Redis入门完整教程:键管理
【js】-【动态规划】-笔记
cout/cerr/clog的区别
Explanation of bitwise operators
[Jianzhi offer] 6-10 questions
Basic use and upgrade of Android native database
[machine learning] handwritten digit recognition
Pagoda 7.9.2 pagoda control panel bypasses mobile phone binding authentication bypasses official authentication
Analysis of the self increasing and self decreasing of C language function parameters









